pandas 多 sheet 保存求教,为何第一种方法覆盖存储前面的表
有会 python 的 pandas 库的朋友么,为何第二种方法覆盖存储前面的表,而第一种则可以全表保存
以下为部分代码,有朋友能指正下错误如何改正么,感谢
data_xls = pd.read_excel(io=r'C:\Users\Z\Desktop\test\test_data.xlsx', sheet_name=None, header=0)
for key in data_xls:
for i in dfl:
...
dfl = data_xls[key].to_dict(orient='records') # 以行读取单表
excel_dict = []
dataframe_onesheet = pd.DataFrame(excel_dict) # 列表转 DataFrame
writer = pd.ExcelWriter('name.xlsx') # 指定生成的 Excel 表格名称
dataframe_onesheet.to_excel(excel_writer=writer, sheet_name=key) # 输出
writer.save() # 保存表格
writer.close()
----------------------- 以下是精选回复-----------------------
答:这难道不是由于
writer = pd.ExcelWriter('name.xlsx')
这句话在循环外与在循环里的差别?
答:https://github.com/pandas-dev/pandas/issues/3441
参考这个看看,感觉你把 excel 文件读取的字段都变为 key,这样保存时候多个列会生成好多个表 sheet 吧
答:for key in data_xls,这里好像默认只取了表格里最后一列的数据生成 dict,因为只有一列,所以不管内部 for i in df1 怎么处理都只有一列数据
另外你代码里写的 dfl,注释里写的 df1……
0条评论