鱼C论坛

 找回密码
 立即注册
查看: 204|回复: 5

[已解决]对excel的列数据按规则分拆

[复制链接]
发表于 2024-9-29 15:56:33 | 显示全部楼层 |阅读模式

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

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

x
excel数据如下

管线号        焊缝编号        焊接类型        主要信息
CA-03-15-A1B-N        S1        BW                蠁60.3*4.0,S30408-
CA-03-15-A1B-N        S2        BW                 蠁60.3*4.0,S30408-

需要对列“主要信息”的数据进行分拆
1,将列“焊缝编号 ”的第一个字符去除 ,如“S1”改为“1”
2,将列“焊接类型”的数据进行替换, 内容为“BW”或者“GW”的替换为“对焊”,内容为“SW”或者“SOL”的替换为“承插焊”
3,将列“主要信息”的“蠁60.3*4.0,S30408-”把最后一个","后的文字 "S30408-"  ,录入到列“焊缝前材质” ,列“焊缝后材质”
     将列“主要信息”的“蠁60.3*4.0,S30408-”把“60.3"  ,录入到列“主管外径” ,从第二位开始,到符合”*“结束。
     将列“主要信息”的“蠁60.3*4.0,S30408-”把“4.0"  ,录入到列“壁厚 ,从”*“侯开始,到”,“结束。
   
   
最佳答案
2024-9-30 10:39:42
excel有些情况下用脚本比较方便
有些情况下用自带的公式比较方便
要灵活使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-9-29 16:01:48 | 显示全部楼层
好的,以下是具体的操作步骤:

1. **去除焊缝编号的第一个字符:**
   - 原始数据:`S1`、`S2`
   - 修改后:`1`、`2`

2. **替换焊接类型数据:**
   - `BW`、`GW` 替换为 `对焊`
   - `SW`、`SOL` 替换为 `承插焊`

3. **拆分主要信息列:**
   - `主要信息` 列的数据 `60.3*4.0,S30408-` 将被拆分为以下几列:
     - **焊缝前材质** 和 **焊缝后材质**: 提取 `S30408-`
     - **主管外径**:提取 `60.3`
     - **壁厚**:提取 `4.0`

下面是如何使用Excel公式来处理这些步骤:

### 1. 去除焊缝编号的第一个字符
假设焊缝编号在B列,C2单元格:
=RIGHT(B2, LEN(B2) - 1)

### 2. 替换焊接类型数据
假设焊接类型在C列,D2单元格:
=IF(OR(C2="BW", C2="GW"), "对焊", IF(OR(C2="SW", C2="SOL"), "承插焊", C2))

### 3. 拆分主要信息列
假设主要信息在D列,我们可以使用以下公式来提取相应的数据:

- **焊缝前材质** 和 **焊缝后材质** (G列,H列)
=TRIM(MID(D2, FIND(",", D2) + 1, LEN(D2)))

- **主管外径** (I列)
=TRIM(LEFT(D2, FIND("*", D2) - 1))

- **壁厚** (J列)
=TRIM(MID(D2, FIND("*", D2) + 1, FIND(",", D2) - FIND("*", D2) - 1))

按这些步骤在Excel中设置好公式,即可自动将数据拆分并替换。希望这些步骤能帮助到你!如果有任何问题,请随时询问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-29 20:03:37 | 显示全部楼层
可以按照以下步骤来处理Excel中的数据:

1. 删除焊缝编号的第一个字符:
   - 使用Excel公式:`=RIGHT(A2, LEN(A2) - 1)`(假设焊缝编号在A列,行号从2开始)。

2. 替换焊接类型:
   - 使用公式:`=IF(B2="BW", "对焊", IF(B2="GW", "对焊", IF(B2="SW", "承插焊", IF(B2="SOL", "承插焊", B2))))`(假设焊接类型在B列)。

3. 分拆主要信息:
   - 焊缝前材质:
     - 使用公式:`=TRIM(RIGHT(D2, LEN(D2) - FIND(",", D2)))`(假设主要信息在D列)。
   - 主管外径:
     - 使用公式:`=MID(D2, FIND("蠁", D2) + 1, FIND("*", D2) - FIND("蠁", D2) - 1)`。
   - 壁厚:
     - 使用公式:`=MID(D2, FIND("*", D2) + 1, FIND(",", D2) - FIND("*", D2) - 1)`。

将这些公式输入到相应的列中,然后向下拖动填充以处理所有数据。这样就可以完成数据的分拆和替换了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2024-9-30 10:39:42 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
excel有些情况下用脚本比较方便
有些情况下用自带的公式比较方便
要灵活使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 22:05:08 | 显示全部楼层
已经改好了,还是用的pandas
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-1 22:30:46 | 显示全部楼层
颂风侯 发表于 2024-10-1 22:05
已经改好了,还是用的pandas

一般处理表格都是用Dataframe
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 06:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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