Python + CSV + xlsx +熊猫:将多个CSV文件合并为一个多页CSV

时间:2019-03-25 10:49:17

标签: python pandas csv dataframe xlsx

我想从多页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: []

1 个答案:

答案 0 :(得分:2)

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html提到append方法返回一个新对象。因此,必须将其存储到变量中。由于未存储,因此df_final始终为空。 尝试添加df_final = df_final.append(df)