python+openpyxl操作excel?

查看:200
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆