鱼C论坛

 找回密码
 立即注册
查看: 1741|回复: 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 编辑
from openpyxl import load_workbook
import re


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

for n in range(1, ws.max_row + 1):
    sn = str(n)
    content = ws['a' + sn].value
    division = re.findall(r'(.*?师)', content)[0]
    # print(division)
    brigate = re.findall(r'师(.*?旅)', content)[0]
    # print(brigate)
    regiment = re.findall(r'旅(.*?团)', content)[0]
    # print(regiment)
    ws['a' + sn] = division
    ws['b' + sn] = brigate
    ws['c' + sn] = regiment

wb.save('test.xlsx')
    
想知道小甲鱼最近在做啥?请访问 -> 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, 2025-1-19 03:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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