Excel追加写入有感
这两天学习写公司博客爬虫,逐页爬取数据,将评论写入到Excel中,结果保存数据的时候竟然发现pandas竟然是覆盖写入数据的????在网上百度发现基本都是用xlwt等包来追加数据的。
- 相关包 ,xlrd,xlwt, xlutils需要下载;
- 注意事项 ,不支持xlsx文件,使用xls表格;
代码
export 是爬取的一页评论经处理后的字典数据,此处代码直接拿来用,在稍微处理了一下。第一页数据用pandas保存的数据,之后页的数据都为追加数据。
我的数据字典格式,2列,如下:
姓名 评论
qq ok!
//
file_name = 'D:\Gavin\评论.xls'
# 第一次向excel填入数据
def to_excel(export):
k = []
for key in export:
#print(key + ":" + export[key])
num = [key, export[key]]
k.append(num)
data = pd.DataFrame(k)
# 将字典列表转换为DataFrame
# 指定字段顺序
# 指定生成的Excel表格名称
file_path = pd.ExcelWriter(file_name)
# 输出
data.to_excel(file_path, encoding='utf-8', index=False)
# 保存表格
file_path.save()
# 向excel追加数据
def append_excel(export):
k = []
for key in export:
# print(key + ":" + export[key])
num = [key, export[key]]
k.append(num)
r_xls = ExcelRead.open_workbook(file_name)
r_sheet = r_xls.sheet_by_index(0)
rows = r_sheet.nrows
w_xls = copy(r_xls)
sheet_write = w_xls.get_sheet(0)
for i in range(0, len(k)):
sheet_write.write(rows + i, 0, k[i][0])
sheet_write.write(rows + i, 1, k[i][1])
w_xls.save(file_name);
欢迎评论!