本人结合网上资料,总结出以下两种可以将列表数据写入已有excel并不改变原文件其它内容的方法。
第一种方法要用到xlwt、xlutils、xlrd三个第三方库。
import xlwt as xw
from xlutils.copy import copy
import xlrd as xr
a=[5,6,7,8,9,10,11,12,1,2,3,4]
file="data1.xls"
style = xw.easyxf()#字体风格设置,此处为默认值
oldwb = xr.open_workbook(file)#打开工作簿
newwb = copy(oldwb)#复制出一份新工作簿
newws = newwb.get_sheet(0)#获取指定工作表,0表示实际第一张工作表
for i in range(len(a)):
newws.write(i+1, 0, a[i],style) #把列表a中的元素逐个写入第一列,0表示实际第1列,i+1表示实际第i+2行
newwb.save(file)#保存修改
需要注意的是,第一种方法操作的是97-2003版的excel文件,也就是后缀名是xls的,如果操作的是xlsx文件,则会出错。
第二种方法要用到openpyxl库。
原excel文件内容如下:
需要给“出力”这一列填充上列表数据,代码如下:
import openpyxl as op
a=[150