鱼C论坛

 找回密码
 立即注册
查看: 1414|回复: 13

[已解决]求各位大佬帮助EXCEL拆分列工具

[复制链接]
发表于 2020-8-8 09:14:24 | 显示全部楼层 |阅读模式

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

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

x
想做个小工具,把EXCEL的某一列产分成多个列,比如一列的值为 x师y旅z团,拆分成三列, x师、y旅、z团
最佳答案
2020-8-9 10:11:30

验证可用的话给个最佳啊,亲。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-8 09:59:46 From FishC Mobile | 显示全部楼层
你的意思是?
可以再详细一点吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-8 10:09:21 | 显示全部楼层
本帖最后由 suchocolate 于 2020-8-8 11:06 编辑
  1. from openpyxl import load_workbook
  2. import re


  3. wb = load_workbook('test.xlsx')
  4. # print(wb.sheetnames)
  5. ws = wb['Sheet1']

  6. for n in range(1, ws.max_row + 1):
  7.     sn = str(n)
  8.     content = ws['a' + sn].value
  9.     division = re.findall(r'(.*?师)', content)[0]
  10.     # print(division)
  11.     brigate = re.findall(r'师(.*?旅)', content)[0]
  12.     # print(brigate)
  13.     regiment = re.findall(r'旅(.*?团)', content)[0]
  14.     # print(regiment)
  15.     ws['a' + sn] = division
  16.     ws['b' + sn] = brigate
  17.     ws['c' + sn] = regiment

  18. wb.save('test.xlsx')
  19.    
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-8 23:20:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 10:11:30 | 显示全部楼层    本楼为最佳答案   

验证可用的话给个最佳啊,亲。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-11 22:55:06 | 显示全部楼层
suchocolate 发表于 2020-8-9 10:11
验证可用的话给个最佳啊,亲。

大佬 我想把它变成.exe那样的支持导入导出形式的工具,不知道能实现嘛?就是导入没拆分的表,选择这列单元格拆分后,导出新excel?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 08:25:59 | 显示全部楼层
カカロット 发表于 2020-8-11 22:55
大佬 我想把它变成.exe那样的支持导入导出形式的工具,不知道能实现嘛?就是导入没拆分的表,选择这列单 ...

可以,加入os相关操作,最后用pyinstaller打包成exe,你搜搜论坛里的教程吧,很多的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-15 19:33:19 | 显示全部楼层
suchocolate 发表于 2020-8-12 08:25
可以,加入os相关操作,最后用pyinstaller打包成exe,你搜搜论坛里的教程吧,很多的。

好嘞多谢大佬指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-26 18:47:26 | 显示全部楼层

大佬,  ws['a' + sn]我想问下这个是什么意思呀?还有content)[0]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-26 20:00:12 | 显示全部楼层
カカロット 发表于 2020-8-26 18:47
大佬,  ws['a' + sn]我想问下这个是什么意思呀?还有content)[0]

n是当前操作的行号,sn=str(n)就是转成字符,访问单元格得是字符形式,如ws['a1']。
content就要被拆分的单元格的数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-27 18:48:55 | 显示全部楼层
suchocolate 发表于 2020-8-26 20:00
n是当前操作的行号,sn=str(n)就是转成字符,访问单元格得是字符形式,如ws['a1']。
content就要被拆分 ...

好嘞多谢大佬,content后面的【0】是代表content列表中第一个数据吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-27 20:22:59 | 显示全部楼层
カカロット 发表于 2020-8-27 18:48
好嘞多谢大佬,content后面的【0】是代表content列表中第一个数据吗?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-27 23:15:38 | 显示全部楼层
本帖最后由 カカロット 于 2020-8-27 23:20 编辑


可是为什么我不加这个【0】会报错呢。。。 写上【1】就说列表索引超出范围,我现在晕了这个[0]是指什么呢,辛苦大佬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 09:26:55 | 显示全部楼层
カカロット 发表于 2020-8-27 23:15
可是为什么我不加这个【0】会报错呢。。。 写上【1】就说列表索引超出范围,我现在晕了这个[0]是指什么 ...

list[0]报错说明你的列表是空的,没有数据。
你把你的全部代码发上来,我帮你看看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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