我正在尝试读取同一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])