我目前仍停留在此错误消息中,指出“索引必须是单调递增或递减的”,我自己无法弄清楚。我正在尝试从多个Excel文件中提取表,而我当前的代码使用一个简单的循环来遍历一个文件夹。但是,如果我添加另一个循环来遍历所有子文件夹,则会收到上面的错误消息。
我有一个主文件夹,其中包含5个子文件夹,其中包含excel文件。每个excel文件都有表格,我只想从每个工作簿中提取一个特定的表格。
工作簿中的表如下所示: 所有的excel文件看起来都是这样,我只想将它们合并到一个大的主表中。
Title of Table
Country Score Asset
USA 802 7
Canada 842 3
Germany 782 6
End of Table
它实际上在表的开头和结尾都有“表的标题”和“表的结尾”,我正试图将其用作从每个电子表格中捕获表的标记。
这是我当前的代码
data_path = "C:/Users/Documents/"
df_total = pd.DataFrame()
for subdir, dirs, files in os.walk(data_path):
for file in files:
if file.endswith(".xls") or file.endswith(".xlsx"):
raw= pd.read_excel(subdir + '/' + file)
# Use the first column as index to get each table.
raw.set_index(raw2.columns[0], inplace=True)
selected = raw.loc["Title of Table" : "End of Table"]
df_total = pd.concat([selected, df_total], ignore_index=True)
如果我运行此命令,则会收到一条错误消息,提示“索引必须是单调递增或递减的”,并且还会显示“ KeyError:'表末尾'。
有人可以帮助我解决此错误吗?