You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于分隔符拆分文本文件行列:Power BI数据转换求助

解决思路:用Power Query搞定非结构化文本转规范表格

你的文本属于重复的键值对块结构,直接用默认分隔符拆分肯定踩坑,得用Power BI里的Power Query来一步步拆解。我给你梳理下具体操作步骤,亲测有效:

第一步:加载文本并整理原始数据

  1. 打开Power BI,点击获取数据 > 文本/CSV选中你的文件。
  2. 要是加载后出现奇怪的列(比如只有两列),先把所有列合并成一列:
    • 选中所有列,点转换 > 合并列,分隔符选「自定义」,随便输一个文本里没有的字符(比如|),合并后把列名改成RawData。
  3. 拆分每个<SUB>块成单独行:
    • 选中RawData列,点转换 > 拆分列 > 按分隔符,分隔符输<SUB ,然后选择「拆分为行」,这样每一行就变成A=a; B=b; C=c; D=d <END这种单独的片段了。
  4. 删掉末尾的<END>:
    • 选中拆分后的列,点转换 > 替换值,查找值输<END,替换为空,确定就行。

第二步:拆分键值对并转成目标表格

  1. 把每个片段拆成单独的键值对:
    • 选中清理后的列,点转换 > 拆分列 > 按分隔符,分隔符输; ,还是选「拆分为行」,现在每一行就是A=a、B=b这种单独的键值对了。
  2. 拆分键和值:
    • 选中这列,点转换 > 拆分列 > 按分隔符,分隔符输=,拆成两列,分别命名为Key和Value。
  3. 透视成规范表格:
    • 选中Key列,点转换 > 透视列,值列选Value,高级选项里选「不要聚合」,这时候你要的A、B、C、D列就出来了,每一行对应一组数据!

小提示:处理异常情况

  • 要是文本里的分号前后没有空格(比如A=a;B=b),先做一步替换:用替换值把;换成; ,保证分隔符统一。
  • 如果有的<SUB>块缺了某个键(比如少了C),透视后对应的单元格会显示null,你可以再用替换值把null换成空字符串或者你需要的默认值。

这样操作下来,就能得到你想要的规范表格啦,核心就是先把重复的块拆成单行,再拆解键值对,最后透视成列。

内容的提问来源于stack exchange,提问作者Longora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:11:00