Как массово транспонировать и объединять несколько файлов xls? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть более 30 отдельных файлов .xls, подобных этому:

.xls 1:

a   11  22  33  54
b   2   44   4  5
c   3   4    5  3

.xls 2

a   12  22  35  58
b   2   44   4  5
c   3   4    5  3

Я хочу транспонировать и объединить их (возможно, с помощью Power Query?), Чтобы они выглядели так:

a     b    c
11    2    3
22    44   4
33    4    5
54    5    3
12    2    3
22    44   4
35    4    5
58    5    3

Как мне сделать это ? Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Попробуйте ниже; предполагает, что данные находятся на листе 1, а затем отфильтровывают дополнительные заголовки

let Source = Folder.Files("C:\directory\subdirectory"),
#"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".xls")),
#"Pull Data" = Table.AddColumn(#"Filtered Rows", "Data", each Excel.Workbook([Content], null, true){[Item="Sheet1",Kind="Sheet"]}[Data]),
Invert = Table.TransformColumns(#"Pull Data", {{"Data", each Table.Transpose(_)}}),
#"Removed Columns" = Table.RemoveColumns(Invert,{"Content", "Name", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
MaxColumns = List.Max(List.Transform(#"Removed Columns"[Data], each Table.ColumnCount(_))),
#"Expanded Content" = Table.ExpandTableColumn(#"Removed Columns", "Data", List.Transform({1..MaxColumns}, each "Column" & Number.ToText(_))),
#"Promoted Headers" = Table.PromoteHeaders(#"Expanded Content", [PromoteAllScalars=true])
in #"Promoted Headers"
0 голосов
/ 19 марта 2020

Попробуйте это.

  1. Поместите файлы Excel в ту же папку.
  2. Нажмите «Получить данные», затем «Из файла», затем «Из папки».
  3. Введите путь к вашему файлу. папку с файлами Excel или нажмите кнопку «Обзор» и перейдите к папке с файлами Excel в ней, выберите эту папку и нажмите «ОК», затем нажмите «ОК».
  4. Нажмите кнопку «Преобразовать данные».
  5. Нажмите кнопку со стрелкой раскрывающегося списка в столбце «Расширение», затем нажмите «Текстовые фильтры и равно» и введите .xls (с включенной точкой) в текстовое поле справа от первого знака «равно» и нажмите кнопку «ОК». .
  6. Нажмите кнопку с двойными стрелками вниз в столбце содержимого.
  7. Выберите общий лист, который вы хотите использовать, и нажмите кнопку ОК.
  8. Нажмите на запрос с именем Файл примера преобразования.
  9. Нажмите «Преобразовать», затем нажмите «Транспонировать».
  10. Нажмите «Преобразовать», затем нажмите «Использовать первую строку в качестве заголовков».
  11. Нажмите на запрос, названный так же, как твое превосходство и перечислены в разделе «Другие запросы».
  12. Удалите последний (наиболее вероятно, единственный) примененный шаг «Измененный тип» на правой боковой панели.
...