File "/data/szy4017/code/mmdetection3d/tools/vis_cam_readdata_wrq.py", line 75 print("weather"StasComponent["weather"]) IndentationError: unexpected indent
时间: 2024-01-03 20:02:59 浏览: 131
这个错误是一个缩进错误,意味着代码中的某一行缩进不正确。在这种情况下,问题出现在第75行的代码上。根据错误信息,你可能忘记在print语句中添加一个逗号或者冒号,导致了缩进错误。
正确的代码应该类似于以下形式:
```python
print("weather:", StasComponent["weather"])
```
或者
```python
print("weather" + StasComponent["weather"])
```
请检查你的代码并确保缩进正确。
相关问题
Traceback (most recent call last): File "c:\Users\szy\Desktop\work\pachong2.py", line 32, in <module> results_df = results_df.append({'化合物名称': compound_name, '沸点': boiling_point}, ignore_index=True) File "C:\Users\szy\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\generic.py", line 5989, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'append' 你写的代码出现这样的问题怎么解决
这个问题是因为最新版本的pandas库中,DataFrame对象不再具有`append`方法。相反,我们可以使用`concat`函数来连接DataFrame对象。
请将以下代码行:
```python
results_df = results_df.append({'化合物名称': compound_name, '沸点': boiling_point}, ignore_index=True)
```
更改为:
```python
new_row = pd.DataFrame({'化合物名称': [compound_name], '沸点': [boiling_point]})
results_df = pd.concat([results_df, new_row], ignore_index=True)
```
这样就可以解决这个问题了。我们创建一个新的DataFrame对象`new_row`,并使用`concat`函数将其与现有的`results_df`连接起来。请注意,我们将化合物名称和沸点都用列表的形式传递给DataFrame,以便正确地构建新行。
运行修改后的代码,应该就不会再出现AttributeError了。希望能帮到你!
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中检索化合物沸点的功能代码
要在代码中添加从 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 中没有沸点数据,因此在处理时需要考虑到这种情况。
阅读全文