#coding:utf-8
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
sheetnames=wb.get_sheet_names()
ws = wb.get_sheet_by_name(sheetnames[0])
data=['姓名','杰克','里斯','安妮']
for i in range(len(data)):
ws['B%d'%(i+1)]=data[i]
wb.save('sample.xlsx')
原本sample.xls是这样的


添加完是这样的
如果想插入的话,那么你应该把你想插入的那一列后面的列全部在内存中备份一下,然后全部重新放进去吧。好像挺麻烦的,不过总是能实现。
我有更好的方法推荐给你,直接赋值就行,绝不会破坏其它数据,要在某一列之间插入的话,只要直接插入就行了。
用pandas