import pubchempy import pandas as pd import numpy as np with open('C:\\Users\\szy\\Desktop\\work\\name2.txt','r',encoding='utf-8-sig') as file1: file_lines=file1.readlines() name_list=[] a=[] cc=[] d=[] f=[] g=[] h=[] t=[] for i in file_lines: j=i.strip() name_list.append(str(j)) for k in name_list: results = pubchempy.get_compounds(k, 'name') for l in results: try: print('CID: {}\tName: {}\tMolfor: {}\tSmi: {}\tSyn: {}'.format(l.cid, l.iupac_name,l.molecular_formula,l.isomeric_smiles,l.exact_mass,l.h_bond_donor_count,l.h_bond_acceptor_count)) MFs=l.molecular_formula ISs=l.isomeric_smiles Cis=l.cid Mass=l.exact_mass Hbonddonor=l.h_bond_donor_count Hbondacceptor=l.h_bond_acceptor_count a.append(k) cc.append(MFs) d.append(ISs) f.append(Cis) g.append(Mass) h.append(Hbonddonor) t.append(Hbonddonor) except (pubchempy.BadRequestError,TimeoutError,ValueError): pass dataframe=pd.DataFrame({'name':a,'molecular formula':cc,'smiles':d,'cid':f,'Mass':g,'Hbondacceptor':t,'Hbonddonor':h}) dataframe.to_csv ("C:\\Users\\szy\\Desktop\\work\\database.csv",index=False,sep=',') 在这段代码中加入从pubchem中检索化合物沸点的功能代码
时间: 2024-02-14 09:32:30 浏览: 149
要在代码中添加从 PubChem 检索化合物沸点的功能,你可以使用 PubChemPy 提供的 `get_properties` 函数来获取化合物的属性信息,包括沸点。以下是修改后的代码示例:
```python
import pubchempy
import pandas as pd
with open('C:\\Users\\szy\\Desktop\\work\\name2.txt', 'r', encoding='utf-8-sig') as file1:
file_lines = file1.readlines()
name_list = []
cid_list = []
boiling_point_list = []
for i in file_lines:
j = i.strip()
name_list.append(str(j))
for name in name_list:
try:
# 获取化合物信息
compounds = pubchempy.get_compounds(name, 'name')
for compound in compounds:
cid_list.append(compound.cid)
# 获取化合物的属性信息
properties = pubchempy.get_properties('Boiling Point', compound.cid, 'cid')
if properties:
# 提取沸点值
boiling_point = properties[0].get('Boiling Point', None)
boiling_point_list.append(boiling_point)
else:
boiling_point_list.append(None)
except (pubchempy.BadRequestError, TimeoutError, ValueError):
pass
dataframe = pd.DataFrame({'name': name_list, 'cid': cid_list, 'boiling_point': boiling_point_list})
dataframe.to_csv("C:\\Users\\szy\\Desktop\\work\\database.csv", index=False, sep=',')
```
这个代码将从指定文件中读取化合物名称,然后使用 PubChemPy 获取每个化合物的 CID,并且通过使用 `get_properties` 函数获取其沸点信息。最后,将化合物名称、CID 和沸点数据保存到一个 CSV 文件中。
请注意,可能会有一些化合物在 PubChem 中没有沸点数据,因此在处理时需要考虑到这种情况。
阅读全文