我想从多页xlsx文件生成多页CSV文件。为此,我编写了以下代码:
xls = xlrd.open_workbook(r'Smallys ORDER.xlsx', on_demand=True)
df_list = []
names = xls.sheet_names()
names.remove('EVENT')
for name in names:
prod = pd.read_excel('Smallys ORDER.xlsx', name, index_col=None)
prod.to_csv(name + '.csv', encoding='utf-8', index=False)
df_list.append(prod)
df_final = pd.DataFrame()
for df in df_list:
df_final.append(df)
df_final.to_csv('smallys.csv', encoding='utf-8', index=False)
它成功地将各个xlsx工作表转换为csv文件。但无法生成多页csv。
此print(df_final)
输出以下内容:
Empty DataFrame
Columns: []
Index: []
答案 0 :(得分:2)
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html提到append方法返回一个新对象。因此,必须将其存储到变量中。由于未存储,因此df_final始终为空。
尝试添加df_final = df_final.append(df)