python+openpyxl操作excel?
本文介绍了python+openpyxl操作excel?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如何使用python+openpyxl,在不改变表格其他原始数据情况下,向excel中插入一列新数据?
解决方案
#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
import pandas as pd
df=pd.read_excel('sample.xlsx')
print df
df['姓名']=['杰克','里斯','安妮']
#或者执行插入df.insert(1,'姓名',['杰克','里斯','安妮']) 1就是列的序号
df.to_excel('sample.xlsx')
这篇关于python+openpyxl操作excel?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文