利用Python自动计算材料的反射参数。

#需要安装xlrd环境,xlwt环境
'''
利用Python自动计算材料的反射参数。
标准太阳光谱分别存于“标准太阳光谱分布 JG-T 235-2014ISO 9485-1.xlsx”的Sheet1及Sheet2中,属性设为只读。
标准白板的反射率存于“标准白板的反射率校准值.xlsx”中,属性设为只读。
data存储样品的太阳光反射比数值,结果应对应标准太阳光谱的所有波长。应该加个空数值校验,暂时还不会。
'''
import pandas as pd

solar_spectrum = pd.read_excel(r"D:\Python Temp\分光光度计数据\标准太阳光谱分布 JG-T 235-2014:ISO 9485-1.xlsx", sheet_name="Sheet1")
near_infrared_spectrum = pd.read_excel(r"D:\Python Temp\分光光度计数据\标准太阳光谱分布 JG-T 235-2014:ISO 9485-1.xlsx", sheet_name="Sheet2")
standard_whiteboard = pd.read_excel(r"D:\Python Temp\分光光度计数据\标准白板的反射率校准值.xlsx", sheet_name="Sheet1")
data = pd.read_excel(r"D:\Python Temp\分光光度计数据\pel_data\export\1#样品.xlsx")

# print(solar_spectrum)
# print(standard_whiteboard)
# print(data)

file1 = pd.merge(solar_spectrum, standard_whiteboard, on='λ/nm')
solar_file = pd.merge(file1, data, left_on='λ/nm', right_on='λ/nm')
solar_file.info()
solar_file.to_excel(r"D:\Python Temp\分光光度计数据\pel_data\export\1#样品_太阳光反射比.xls", sheet_name="太阳光反射比", index=False)
solar_ratio = ((solar_file["ρ0"]*solar_file["ρ"]*solar_file["Sλ*dλ"]).sum())/(solar_file["Sλ*dλ"].sum())
print("太阳光反射比:", solar_ratio)

file2 = pd.merge(near_infrared_spectrum, standard_whiteboard, on='λ/nm')
near_infrared_file = pd.merge(file2, data, left_on='λ/nm', right_on='λ/nm')
near_infrared_file.info()
near_infrared_file.to_excel(r"D:\Python Temp\分光光度计数据\pel_data\export\1#样品_近红外反射比.xls", sheet_name="近红外反射比", index=False)
NIR = ((near_infrared_file["ρ0"]*near_infrared_file["ρ"]*near_infrared_file["Sλ*dλ"]).sum())/(near_infrared_file["Sλ*dλ"].sum())
print("近红外反射比:", NIR)

print('Done!')


你可能感兴趣的:(利用Python自动计算材料的反射参数。)