鱼C论坛

 找回密码
 立即注册
查看: 1437|回复: 6

[已解决]求助合并单元格中的字符串的方法

[复制链接]
发表于 2020-9-28 22:35:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


小弟遇到上图这样一个需求,需要合并A,C 两列中的字符串得到B列的字符串( 其实就是excel 中的 & 功能)

ws2 为以B 列2到25行为例,循环代码如下:

wb2 = openpyxl.load_workbook(‘template.xlsx’)
ws2 = wb2.active

for i in range(2,16):
        ws2['C'+str(i)] = str(ws2['B'+str(i)].value) + str(ws2['D'+str(i)])

但是好像这样并没有生效?我在后面C4 列单独加了这样一句却生效了:

ws2['C4'] = str(ws2['B4'].value)+str(ws2['D4'].value)


小弟疑惑了,照说 后面一句应该就是前面循环中 i=4 的时候啊,求问大神们我这里问题出在哪,,,或者说有没有其他的方法
最佳答案
2020-9-28 22:45:16
这样就行了呗
from openpyxl import load_workbook


wb2 = load_workbook('1.xlsx')
ws2 = wb2.active

for i in range(1,11):
        ws2['C'+str(i)].value = str(ws2['B'+str(i)].value) + str(ws2['D'+str(i)].value)

wb2.save('1.xlsx')

B列是A,C 两列合并得到

B列是A,C 两列合并得到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-28 22:41:51 | 显示全部楼层
要取表格单元格中数值,应该都要.value这样的格式才行的吧,你如果都加上这个属性呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-28 22:45:16 | 显示全部楼层    本楼为最佳答案   
这样就行了呗
from openpyxl import load_workbook


wb2 = load_workbook('1.xlsx')
ws2 = wb2.active

for i in range(1,11):
        ws2['C'+str(i)].value = str(ws2['B'+str(i)].value) + str(ws2['D'+str(i)].value)

wb2.save('1.xlsx')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-28 23:01:05 | 显示全部楼层

感觉还是不太对啊,后面D 列的合并之前的结果是None啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-28 23:07:05 | 显示全部楼层
weiyideid823 发表于 2020-9-28 23:01
感觉还是不太对啊,后面D 列的合并之前的结果是None啊


就合并10行,,都要有数据的,没有数据的当然是None
屏幕截图 2020-09-28 230726.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-9-29 08:17:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-9-29 13:31:55 | 显示全部楼层
疾风怪盗 发表于 2020-9-28 23:07
就合并10行,,都要有数据的,没有数据的当然是None

我又单独试了下你这个方法是可行的,但是在我自己的代码里面好像还是没有生效,应该是我的其余代码哪里有问题,我再检查下,谢谢了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 11:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表