我在Power Query中收到了从OneDrive上的文件夹提取数据的请求。让我们把这个请求称为";数据";。该文件夹最初包含具有29列的csv文件,最后两列是"csv";y";以及";z";。与我的工作相关的新CSV文件包含2个额外的列(与以前的CSV相同的29个(,称为";w";以及";x〃;它们被放置在y和z之前;将列总数增加到31,按w、x、y、z的顺序结束。我原以为将新的CSV文件添加到文件夹中会自动将新列添加到请求中,并为以前没有w和x的CSV文件中的行提供null值。然而,Power Query的内置源代码删除了添加w和x请求中的y和z列;看起来该代码基于原始请求"返回固定数量的列;数据";并删除其范围之外的最后一个。我甚至试着自己合并csv文件,只把它放在文件夹里,但没有成功。我浏览了这个论坛和其他论坛,但没有找到这个问题的答案。请找到以下代码:
let Source = Folder.Files("C:file-location"),
#"Autres colonnes supprimées" = Table.SelectColumns(Source,{"Content"}),
#"Fichiers masqués filtrés1" = Table.SelectRows(#"Autres colonnes supprimées", each [Attributes]?[Hidden]? <> true),
#"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier", each #"Transformer le fichier"([Content])),
#"Autres colonnes supprimées1" = Table.SelectColumns(#"Appeler une fonction personnalisée1", {"Transformer le fichier"}),
#"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier", Table.ColumnNames(#"Transformer le fichier"(#"Exemple de fichier")))
如果您需要其他信息来帮助我解决此问题,请告诉我。这是机密工作,所以我不能公开共享文件名或列名。干杯
组合所有CSV文件中的所有列
let Source = Folder.Files("C:directorysubdirectory"),
#"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".csv")),
#"Added Custom" = Table.AddColumn(#"Filtered Rows", "CSV", each Table.PromoteHeaders(Csv.Document([Content]))),
List = List.Union(List.Transform(#"Added Custom"[CSV], each Table.ColumnNames(_))),
#"Expanded CSV" = Table.ExpandTableColumn(#"Added Custom", "CSV", List),
#"Removed Columns" = Table.RemoveColumns(#"Expanded CSV",{"Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"})
in #"Removed Columns"