Bootstrap

pandas excelwriter遇到的坑

从数据库里导出来了一些数据,需要给字段加上说明,为了减小工作量,我就想着用pandas读取数据的字段,写入Excel,然后直接在后面添加说明就好。

简单地用了几行代码实现

import pandas as pd
writer = pd.ExcelWriter('./test.xlsx')
col = pd.read_csv('./test.csv')
cols = pd.DataFrame(col.columns)
cols.to_excel(writer,sheet_name='test_sheet',index=False,header=None)
writer.save()
writer.close()

当时是读了两个csv,取表头写入Excel的两个sheet中,没问题,觉得自己聪明了一次:

 第二天,又有一个新的csv,没错,要重复第一天的步骤,于是我就运行了一下程序(我当时还想着还好我昨天没删程序),运行完,心态崩了!!!

当运行writer = pd.ExcelWriter('')时,应该是创建了一个文件,然后写进去,没错!昨天的文件被覆盖了。原本设想的是会增加一个新的sheet,我现在心里万马奔腾!为什么没留备份呢?(真想给自己一巴掌)

所以一定要注意,使用ExcelWriter时,对已有的Excel追加sheet是不可以的,会被覆盖。想要追加sheet,可以考虑使用openpyxl!!!!

;