如何分别转置多个 .txt 文件并将它们组合成 1 个 csv 文件

How to transpose multiple .txt files separately and combine them into 1 csv file

我正在处理数百个 .txt 文件,我必须将它们组合成 1 个 .csv 文件

以上是文本文件的示例格式(只有 2 列,但有数百行)

我需要先转置每个 .txt 文件的内容,然后将所有结果合并为一个 table,它们都有一个共同的 header 行( 31330_at、31385_at、31463_s_at 等)

这是我第一次使用 power query,我不完全确定该怎么做,因为我已经尝试导入所有文件并一次转置它们,但它不起作用。

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.

供参考,与此概念相同 link https://stackguides.com/questions/57805673/how-to-transpose-multiple-csv-files-and-combine-in-excel-power-query

我该如何解决这个问题?

看起来您已经知道如何从文件夹中提取文件,如您的 Source = Folder.Files("Directory) 所示。

合并二进制文件后,您可能会在屏幕上看到类似这样的内容,其中所有 txt 文件一个接一个地附加:

但这不是你想要的。正确的?您希望根据每个文件的转置视图附加文件。我从上面的描述中了解到,每个文件的第一列将包含与所有其他文件的第一列相同的信息,并且您希望第一列的信息用作 header 的信息最初列在每个文件的第 2 列,但将被转置到附加行中。)

看起来您正在尝试在其他查询(可能称为您的目录)下生成并列出的查询中进行转置。

不要在那里做移调。相反,查找名为 Transform Sample File 的查询,它应该列在 Helper Queries 下,并在其中进行转置。

单击名为“转换示例文件”的查询。

然后单击变换 -> 转置,转置您的 table。

然后单击将第一行用作 Headers 的功能区按钮,将第一行设为您的 header。

然后单击其他查询(您可能称为目录)下列出的较早查询

...您将看到此错误消息:

此错误是由于查询的最后一步试图使用旧列名更改类型。因此,请查看屏幕右侧并通过单击更改类型之前的 X 删除更改​​类型步骤。 (如果需要,您可以稍后为需要它的列更改列类型。)

那么你应该看到我所理解的你想要看到的结果。