阅读不同的excel表格进行绘图



我正在尝试读取同一excel文件中的多个工作表。我想在同一张图上为每张纸绘制特定的列,但上面写着'Excelfile' has no attribute 'iloc'.。有人能告诉我这里出了什么问题吗?谢谢

df = pd.ExcelFile ('Current parametric sweep_reference.xlsx')
Sheet=df.sheet_names
print(Sheet)
for sheet_names in Sheet:

plt.plot(df.iloc[:,1],iloc[:,9])      

您使用的不是数据框架,而是工作表名称。您可以执行以下

dfs = pd.ExcelFile ('Current parametric sweep_reference.xlsx')
for sheet in df.sheet_names: #loop over all sheets
df = pd.read_excel("Current parametric sweep_reference.xlsx",sheet_name=sheet)
plt.plot(df.iloc[:,1],df.iloc[:,9])

您的对象df不是pandas DataFrame,而是ExcelFile对象,它不支持iloc。要使用iloc,您应该首先将各个工作表表示为DataFrames,如下所示:

... 
for sheet_name in Sheet:
sheet_df = df.parse(sheet_name)

您应该使用"pd.read_excel"加载excel文件。通过向"pd.read_excel"提供"sheet=None",可以将所有工作表加载到每个工作表的数据帧字典中。然后,您可以按如下方式迭代工作表:

import pandas as pd
sheets = pd.read_excel("'Current parametric sweep_reference.xlsx'", sheet_name=None)
for sheetname, df in sheets.items():
plt.plot(df.iloc[:,1],df.iloc[:,9])

最新更新