如何用Python将Excel中含数字与ms的单列内容拆分为两列?
Excel拆分数字与固定“ms”字符串的方法
以下几种实用方法可解决你的需求:
1. 公式法(快速直接)
假设目标数据在A列:
- 提取数字:在B1单元格输入公式
=LEFT(A1,FIND("ms",A1)-1),下拉填充整列。该公式会定位“ms”的位置,提取其前所有数字字符。 - 提取“ms”:在C1单元格输入公式
=MID(A1,FIND("ms",A1),2)(或简化为=RIGHT(A1,2),因“ms”固定为2个字符),下拉填充即可。
2. 文本分列法(可视化批量操作)
先给“ms”前添加分隔空格,再拆分:
- 选中目标列,按
Ctrl+H打开替换对话框,查找内容填ms,替换为ms(注意前面加空格),点击「全部替换」。 - 选中处理后的列,点击顶部「数据」→「分列」,选择「分隔符号」,勾选「空格」,完成拆分后即可得到数字列和“ms”列。
3. Power Query法(适合大数据量)
批量处理且可重复使用:
- 选中数据区域,点击「数据」→「从表格/区域」(勾选“我的表格有标题”)。
- 在Power Query编辑器中,点击「添加列」→「自定义列」:
- 数字列公式:
=Text.BeforeDelimiter([你的列名], "ms"),命名为“数字列”。 - 单位列公式:
=Text.Range([你的列名], Text.PositionOf([你的列名], "ms")),命名为“单位列”。
- 数字列公式:
- 点击「关闭并上载」,结果会自动导入新工作表。
补充:replace方法未达预期的原因
replace仅能将“ms”替换为空得到数字列,无法直接生成两列。若坚持用replace,需两步:先用=REPLACE(A1,FIND("ms",A1),2,"")提取数字,再在另一列手动输入“ms”并填充,但效率不如上述方法。
内容的提问来源于stack exchange,提问作者HiSoKa
相关产品推荐
相关产品推荐

