openpyxl简单用

openpyxl

工作需要,利用openpyxl读取文件文件夹中所有xlsx,并对xlsx中的单个工作簿指定范围内数据进行替换,解脱双手。
import openpyxl
from openpyxl.styles import Font
import os
import re

def singleworksheet(worksheet):
# 单个worksheet修改
for i in range(0, 20):
rowid = 10+i*3
# 精确读取表格中的某一单元格
content_new = worksheet.cell(row=rowid, column=2).value
print(content_new)
if worksheet.cell(row=rowid, column=2).value is None:
continue
else:
# 此处的行数和列数都是从1开始计数的
content_new = content_new.replace(‘1212’, ‘2212’)
# 合并单元格不能直接赋值,先拆分再赋值
worksheet.unmerge_cells(start_row=rowid, start_column=2,
end_row=rowid+2, end_column=3)
worksheet.cell(row=rowid, column=2).value = content_new
worksheet.merge_cells(start_row=rowid, start_column=2,
end_row=rowid+2, end_column=3)

def singleworkbook(workbook):
# 获取工作簿 workbook的所有工作表
shenames = workbook.sheetnames
print(shenames)
shenum = len(shenames)
for i in range(1, shenum):
# 还可以通过索引方式获取表对象
worksheet = workbook.worksheets[i]
print(worksheet)
# 经过上述操作,我们已经获得了第一个“表”的“表对象“,接下来可以对表对象进行操作
name = worksheet.title # 获取表名
print(name) #
# 获取该表相应的行数和列数
rows = worksheet.max_row
columns = worksheet.max_column
print(rows, columns)
singleworksheet(worksheet)

def multi_workbook():
# 多个workbook
path = “C:\Users\Administrator\Desktop\excel”
filenames = os.listdir(path)
for filename in filenames:
print(filename)
for i in filenames:
if 'xlsx’in i:
excel_path = “C:\Users\Administrator\Desktop\excel\”+i
# 获取工作簿对象
workbook = openpyxl.load_workbook(excel_path)
singleworkbook(workbook)
workbook.save(excel_path)
else:
continue
multi_workbook()

参考官方文档:http://yumos.gitee.io/openpyxl3.0/index.html#document-pivot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值