利用pandas可以方便快捷处理excel文件,但是遇到带有单元格合并格式的excel,pandas处理起来就没那么方便了。
为了实现对带有单元格合并格式的excel修改和保存,可以利用python的xlrd和xlutils库进行处理。
示例excel:
上代码:
1.修改正常单元格
import xlrd
from xlutils.copy import copy
# 1.打开文件
path = 'D:/aad.xlsx'
workbook = xlrd.open_workbook(path)
# 2.将原有内容进行copy,同时具有写入权限
wb = copy(workbook)
# 3.将对应的值写入对应的单元格中 (行,列,赋值)
ws = wb.get_sheet(0) #获取第一个sheet
# 序号为1的成绩值(第1行,2列)重新赋值为100
ws.write(1, 2, 100)
# 4.保存为新的excel
wb.save('D:/out.xls')
2.修改合并单元格的值:
选中的合并单元格处在第3列,跨越了三行(第1,2,3行),在修改的时候使用任一定位索引均可实现对其修改,如ws.write(1, 3, '五班'),ws.write(2, 3, '五班'),ws.write(3, 3, '五班')效果相同。
引用:Python xlrd、xlwt、xlutils修改Excel文件-OK - 江召伟 - 博客园