【发布时间】:2021-10-11 13:00:32
【问题描述】:
我正在处理数百个 .txt 文件,我必须将它们组合成 1 个单个 .csv 文件
以上是文本文件的示例格式(只有 2 列但有数百行)
我需要先将每个.txt文件的内容转置,然后将所有结果合并到一个表中,它们都有一个共同的标题行(31330_at、31385_at、31463_s_at等列)
这是我第一次使用电源查询,我不完全确定如何执行此操作,因为我尝试导入所有文件并一次全部转置,但它不起作用。
let
Source = Folder.Files("Directory),
#"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".TXT")),
#"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"Content", "Name"}),
#"Invert" = Table.TransformColumns(#"Removed Other Columns", {{"Content", eachTable.Transpose(_)}}),
.....
我已经尝试了上面的代码,但它在#'Invert' 函数中遇到了错误Expression.Error: We cannot convert a value of type Binary to type Table.
供参考,和这个链接https://stackguides.com/questions/57805673/how-to-transpose-multiple-csv-files-and-combine-in-excel-power-query是同一个概念
我该如何解决这个问题?
【问题讨论】:
-
其实,第一步最简单的做法是将所有的TXT文件提前合并成一个文件(比如在命令提示符下使用copy *.txt output.txt)然后但是你得到数据(读取组合文件或单独读取它们)你得到一张大表。然后使用 Pivot 函数将所有内容排列在适当的列名下
标签: excel powerquery transpose