python写入excel表格_Python向Excel表格中写入内容 修改Excel表格中的内容

向某个格子写入内容并保存

向A1的格子中写入Hello World!

from openpyxl import load_workbook

workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')

sheet=workbook.active

sheet['A1']='Hello World!' # 第一种方式

cell=sheet['A2'] # 第二种方式

cell.value='Hello World!'

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

如果提示:PermissionError: [Errno 13] Permission denied,关闭Excel表格再进行操作!

插入Python列表数据

使用sheet.append(Python列表)的方式,会在插入在表格内已有数据的后面

from openpyxl import load_workbook

workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')

sheet=workbook.active

data=[

['eyujun1',1],

['eyujun2',2],

['eyujun3',3],

['eyujun4',4],

['eyujun5',5],

]

for row in data:

sheet.append(row)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

查看openpyxl支持的公式

使用以下代码查看openpyxl支持的公式:

from openpyxl.utils import FORMULAE

print(FORMULAE)

插入公式

计算B6到B10的平均数 并赋值给C1格子

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet['C1']='=AVERAGEA(B6:B10)' # 计算B6到B10的平均数 并赋值给C1格子

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

插入一列和多列

使用sheet.insert_cols(idx=数字编号)的方式,在idx列左边插入一列:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.insert_cols(idx=2)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

使用sheet.insert_cols(idx=数字编号,amount=要插入的列数)的方式,在idx列左边插入多列:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.insert_cols(idx=2,amount=3)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

插入一行和多行

跟列类似,这里还是使用sheet.insert_cols(idx=数字编号,amount=要插入的列数)的方式,在idx行上边插入一行,插入多行只需要设置amount参数即可:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.insert_rows(idx=2,amount=3)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

删除一行和多行

使用sheet.delete_rows(idx=数字编号,amount=要删除的行数)的方式,删除多行只需要设置amount参数即可:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.delete_rows(idx=2,amount=3)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

移动格子

使用sheet.move_range(“C1:D1”,rows=2,cols=2)的方式,正整数为向下做向右,负整数为向左或向上。那么现在我想把A1的格子移动到C2:B2的位置:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.move_range("A1",rows=2,cols=1)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

创建和删除Sheet表格

使用workbook.create_sheet(sheet名称)的方式来创建新的表格:

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

print(workbook.sheetnames)

workbook.create_sheet('Sheet999')

print(workbook.sheetnames)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

# ['Sheet1', 'Sheet2', 'Sheet3']

# ['Sheet1', 'Sheet2', 'Sheet3', 'Sheet999']

删除表格

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

print(workbook.sheetnames)

sheet=workbook['Sheet2']

workbook.remove(sheet)

print(workbook.sheetnames)

workbook.save(filename='./book.xlsx') # 可以保存到新的文件

# ['Sheet1', 'Sheet2', 'Sheet3', 'Sheet999']

# ['Sheet1', 'Sheet3', 'Sheet999']

复制表格

复制Sheet999表格

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

print(workbook.sheetnames)

sheet=workbook['Sheet999']

workbook.copy_worksheet(sheet)

print(workbook.sheetnames)

workbook.save(filename='./book.xlsx')

修改表格名称

修改Sheet1表格名称为Sheet_down

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

print(workbook.sheetnames)

sheet=workbook['Sheet1']

sheet.title='Sheet_down'

print(workbook.sheetnames)

workbook.save(filename='./book.xlsx')

创建新的Excel表格文件

现在是创建一个新的Excel表格文件,而不是加载读取修改原本的Excel表格,这点需要注意。

from openpyxl import Workbook

workbook=Workbook()

sheet=workbook.active

sheet.title='表格1'

workbook.save(filename='./bobo.xlsx')

冻结窗格(视图下的冻结窗格):保持工作表的某一部分在其他部分滚动时可见。一般冻结首行,向上滚动的时候,首行还可以显示出来,具体效果自己打开Excel表格测试。

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook.active

sheet.freeze_panes="B2"

workbook.save(filename='./book.xlsx')

需要自己摸索下这个冻结的效果

表格筛选

对整张表格进行筛选

from openpyxl import load_workbook

workbook=load_workbook(filename='./book.xlsx')

sheet=workbook['Sheet1']

sheet.auto_filter.ref=sheet.dimensions

workbook.save(filename='./book.xlsx')

未经允许不得转载:作者:鳄鱼君,

转载或复制请以 超链接形式 并注明出处 鳄鱼君。

原文地址:《Python向Excel表格中写入内容 修改Excel表格中的内容》 发布于2020-05-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值