本文介绍一下如何把新数据追加到excel的某个sheet中,并且不覆盖原有数据。
import xlwt,xlrd
from xlutils.copy import copy
new =xlrd.open_workbook('文件路径',formatting_info=True) # 这个是新数据
old = xlrd.open_workbook('文件路径') #旧数据,也就是等会要把新数据追加到这里的
old_copy =copy(old) #先将旧数据备份一下,等会在这个数据上进行追加
sheet = old_copy.get_sheet(1) # 将数据追加到旧数据的第二个sheet里面
# 通过遍历,把新数据一行一行的追加到旧数据中
Len = sheet.nrows # 等会从 sheet的末尾开始追加
for i in range(new.nrows):
data = new.row_values(i) # 获取第i行信息,返回数据包含两个:col和content,也就是指定i行的情况下,第col列的内容content
for col,conttent in enumerate(data):
sheet.write(Len+i, col, content) # 把content添加到第Len+i行,第col列这个格子中。
sheet.save('文件路径')
下面简单演示一下:
旧表的表2中记录了每天的收入,但是有一段时间没有更新了,而新数据在新表中,现在想办法把新表中的数据追加到旧表中。
这个是追加后的效果