永洪社区

标题: 单元格数据处理 [打印本页]

作者: 周旭光    时间: 2024-4-17 20:24
标题: 单元格数据处理
本帖最后由 周旭光 于 2024-4-17 20:33 编辑

导入一个excel数据集后如果通过新增计算列或者其他方式得到另外一种格数的表格
excel数据集内容实例(实际数据中,软件信息的列还有软件信息2、软件信息3、软件信息4、软件信息5……;实际行数据有上千行;每个单元格的具体软件信息还有很多,要素内容是一样的,实际数据图片见沙发回帖):

姓名 软件信息0 软件信息1
张三 软件名:微信版本号:1.1.1位数:32位发布者:张三安装时间:2022-03-31大小:108M
软件名:微信简版本号:1.1.2位数:64位发布者:张三简安装时间:2023-05-31大小:109M
  软件名:微信李版本号:1.1.3位数:32位发布者:张三李安装时间:2023-05-31大小:108M
软件名:微信张版本号:1.1.6位数:64位发布者:张三简安装时间:2023-05-31大小:109M
李四  软件名:QQ版本号:1.11.1位数:32位发布者:李四安装时间:2022-03-31大小:108M
软件名:QQ简版本号:1.1.2位数:64位发布者:李四简安装时间:2023-05-31大小:109M
   软件名:QQ王版本号:1.11.1位数:32位发布者:李四安装时间:2022-03-31大小:108M
软件名:QQ张版本号:1.1.2位数:64位发布者:李四简安装时间:2023-05-31大小:109M




想得到的目标表格:
姓名 软件名 版本号 位数 发布者 安装时间
张三 微信 1.1.1 32位 张三 2022-03-31
张三 微信简 1.1.2 64位 张三简 2023-05-31
张三 微信李 1.1.3 32位 张三李 2023-05-31
张三 微信张 1.1.6 64位 张三简 2023-05-31
李四 QQ 1.11.1 32位 李四 2022-03-31
李四 QQ简 1.1.2 64位 李四简 2023-05-31
李四 QQ王 1.11.1 32位 李四 2022-03-31
李四 QQ张 1.1.2 64位 李四简 2023-05-31




作者: 周旭光    时间: 2024-4-17 20:30
软件信息列下的每个单元格都是如图片中格式的内容

作者: yhdata_bear    时间: 2024-4-17 20:35
导入后试试拆分列
作者: 周旭光    时间: 2024-4-17 20:37
yhdata_bear 发表于 2024-4-17 20:35
导入后试试拆分列

拆分列之后呢  如何汇总
作者: 周旭光    时间: 2024-4-17 20:59
yhdata_bear 发表于 2024-4-17 20:35
导入后试试拆分列

按照 “:”拆分的话   也拆不出来我想要的信息
拆出来之后会出现   微信版本号  在一个单元格里
作者: 行走的蜗牛    时间: 2024-4-18 09:19
有规律的批量处理,没规律的只能手动
作者: 周旭光    时间: 2024-4-18 09:38
这也算是有规律吧,单元格里每条软件信息的要素是一致的
作者: yhdata_yzm    时间: 2024-4-18 09:39
优先处理数据吧
作者: 周旭光    时间: 2024-4-18 09:45
只能手工处理数据吗
作者: 永洪tech-shenfs    时间: 2024-4-18 10:22
先新建计算列把这个列用 replace做替换 例如:replace(replace(replace(replace(replace(col['软件信息'],"版本号",",版本号"),"位数",",位数"),"发布者",",发布者"),"安装时间",",安装时间"),"大小",",大小") ;然后基于这个计算列再做拆分列,效果如图

作者: 曾梦闵    时间: 2024-4-18 10:27
单元格不合并,数据要么先sql/程序解析拆分,要么通过永洪的工具不断列拆分直到需求数据。
作者: Efheih    时间: 2024-4-18 14:13
本帖最后由 yhdata_Efheih 于 2024-4-18 14:21 编辑

是的,计算列先在名称前端统一加个逗号,然后再根据逗号做拆分
作者: 周旭光    时间: 2024-4-18 16:39
永洪tech-shenfs 发表于 2024-4-18 10:22
先新建计算列把这个列用 replace做替换 例如:replace(replace(replace(replace(replace(col['软件信息']," ...

大神。有点没看懂,拆分列是怎么做的呢
作者: 周旭光    时间: 2024-4-18 16:41
yhdata_Efheih 发表于 2024-4-18 14:13
是的,计算列先在名称前端统一加个逗号,然后再根据逗号做拆分

这个怎么操作
作者: 周旭光    时间: 2024-4-18 16:42
曾梦闵 发表于 2024-4-18 10:27
单元格不合并,数据要么先sql/程序解析拆分,要么通过永洪的工具不断列拆分直到需求数据。 ...

列拆分具体怎么做,请大神指点
作者: 周旭光    时间: 2024-4-18 16:49
永洪tech-shenfs 发表于 2024-4-18 10:22
先新建计算列把这个列用 replace做替换 例如:replace(replace(replace(replace(replace(col['软件信息']," ...

这个我看懂了。这是操作的第一列(软件信息0).后面的列怎么操作才能和第一列的信息合并呢
作者: 永洪tech-shenfs    时间: 2024-4-18 17:47
周旭光 发表于 2024-4-18 16:49
这个我看懂了。这是操作的第一列(软件信息0).后面的列怎么操作才能和第一列的信息合并呢 ...

你是说 要软件信息0,软件信息1...这些列先拼接后才能这么做吗
作者: 周旭光    时间: 2024-4-18 19:21
永洪tech-shenfs 发表于 2024-4-18 17:47
你是说 要软件信息0,软件信息1...这些列先拼接后才能这么做吗

是这个意思,第一要把数据拼接,然后处理后的数据也要再处理,最后实现我要的目标表格,或者最后一步通过表格组件实现也可以
作者: 周旭光    时间: 2024-4-18 19:53
永洪tech-shenfs 发表于 2024-4-18 17:47
你是说 要软件信息0,软件信息1...这些列先拼接后才能这么做吗

最后要得到这样的表格

作者: 曾梦闵    时间: 2024-4-19 09:12
周旭光 发表于 2024-4-18 16:42
列拆分具体怎么做,请大神指点

我会用正则表达式通过:分隔,再通过得到的数据按照固定长度或者特定词再分隔得到需要数据。
作者: 周旭光    时间: 2024-4-19 09:16
曾梦闵 发表于 2024-4-19 09:12
我会用正则表达式通过:分隔,再通过得到的数据按照固定长度或者特定词再分隔得到需要数据。 ...

具体指点下呗,谢谢
作者: 曾梦闵    时间: 2024-4-19 09:31
周旭光 发表于 2024-4-19 09:16
具体指点下呗,谢谢

类似这个表达式先取出数据吧。按照位置分到不同列。

作者: 曾梦闵    时间: 2024-4-19 09:33
曾梦闵 发表于 2024-4-19 09:31
类似这个表达式先取出数据吧。按照位置分到不同列。

然后再对微信李版本号把版本号拆出来之类的
作者: 周旭光    时间: 2024-4-23 14:17
曾梦闵 发表于 2024-4-19 09:31
类似这个表达式先取出数据吧。按照位置分到不同列。

看不懂,麻烦大神再指导,谢谢




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4