Power Query中可将TXT文件转为表格的自定义列公式咨询
Power Query 解析TXT文件的对应函数
和你处理Excel时用的=Excel.Workbook([Content])逻辑完全一致、可直接作用于文件二进制[Content]字段解析TXT生成表格的函数是Csv.Document(),是Power Query处理文本类结构化文件的内置标准函数。
常用用法
- 纯行读取无拆分需求:直接写
=Csv.Document([Content])即可,函数会自动将TXT每一行内容识别为单条记录,生成单列的嵌套表。 - 分隔符结构化TXT(逗号/制表符/竖线等分隔的规则文本):补充参数匹配文件格式即可,以制表符分隔、UTF-8编码、首行为表头的常见TXT为例,自定义列公式写法如下:
=Csv.Document( [Content], [ Delimiter = "#(tab)", // 按实际分隔符替换,逗号分隔写",",竖线分隔写"|" Encoding = 65001, // 编码按需调整:65001为UTF-8,936为GBK简体中文 HasHeaders = true // 首行是列名就设为true,否则设为false ] )
- 固定宽度格式的TXT:可以先用
Text.FromBinary([Content])把二进制内容转成文本,再调用Table.FromFixedWidth()按指定宽度拆分列即可,绝大多数常规TXT场景用Csv.Document()就可以覆盖。
使用注意点
Csv.Document()和Excel.Workbook()的返回结构有个小差异:Excel.Workbook()会返回工作簿内所有工作表、命名区域的列表,需要先筛选展开对应sheet才能拿到数据;Csv.Document()会直接返回当前TXT解析完成的表格,点击自定义列右上角的展开按钮,就能直接拿到所有行的结构化数据。
批量处理多TXT文件时建议显式指定Encoding参数,不要依赖默认自动识别,避免出现中文乱码、列数识别错位的问题。
内容的提问来源于stack exchange,提问作者Mahdi Abadinia
相关产品推荐
相关产品推荐

