python 修改excel内容_python3 openpyxl修改Excel的内容

这里只是对openpyxl这个模块修改Excel功能做一下记录,暂时没有对这个模块进行研究。

工作中遇到需要对Excel中某一列的多行单元格添加相同的内容,刚开始的时候是自己手动添加,添加了一些后发现手动操作太慢了,也太无聊了。想起之前同事也遇到过相同的事情,后来写了个自动化解决了,于是直接找同事要了之前的自动化代码,稍加修改,为己所用:

ContractedBlock.gif

ExpandedBlockStart.gif

1 #coding=utf-8

2

3 from openpyxl importload_workbook4

5 inwb = load_workbook("entrust.xlsx")6 add_data = ',\n"entrust.apply.baofu.monitor": 0,\n"entrust.resend.baofu.monitor": 0,\n"entrust.tracking.baofu.monitor": 0,\n"entrust.verify.baofu.monitor": 0\n}'

7

8 for sheetName ininwb.get_sheet_names():9 #if not sheetName.isdigit():

10 #continue

11 sheet =inwb[sheetName]12 #修改第80列第29-117行的内容

13 for rownum in range(29, 118):14 oldstr = sheet.cell(row=rownum, column=80).value15 print(type(oldstr))16 print(oldstr)17 ifoldstr:18 #根据需要截取原单元格里面的内容与需要添加的内容进行拼接

19 newstr = oldstr[:-2] +add_data20 print(newstr)21 #往单元格中写入拼接后的新字符串内容

22 sheet.cell(row=rownum, column=80).value = newstr #if oldstr != "None" else ""

23 else:24 pass

25

26

27 #将excel重命名保存

28 inwb.save("entrust1.xlsx")

View Code

这里有几点需要注意一下:

1、需要添加内容的格式(如果对添加的内容没有格式要求可以忽略),比如我这里需要有换行,就需要在字符串中相应的位置加上\n进行换行;

2、添加内容的位置,如果是直接添加在原有字符串的后面,那很简单,直接添加就可以了,如果是插入在固定位置,就需要先找到这个固定位置,可以通过正则表达式找到(关于正则表达式如何匹配指定字符可以自己上网搜搜)。这里我需要插入到原有字符串的“}”后面,这里没有用正则表达式的方式进行处理,而是直接截取“}”之前的内容,然后在需要新加的内容后多加一个“}”,再将两个拼接在一起就可以了,这种方法比用正则表达式要简单点。

3、保存的时候也需要注意一下,建议重命名进行保存,因为不知道修改后的内容正确与否,是否修改了原文件的其它内容,所以最好是保留原有的文件。

以上

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值