Импорт данных с помощью Power Query без использования «|»правильно разделитель - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть скрипт, который в основном импортирует отчет CSV, очищает данные и сохраняет их где-то еще в сети.Проблема заключается в том, что при импорте этого отчета с сервера Linux, который использует «|»в качестве разделителя он неправильно помещает пару пользователей в ячейку, где все перемешано.

Я импортирую данные с помощью Power Query и фильтрую столбцы и различные данные, которые входят в него.

Несмотря на данные, имеющие "|"Разделитель всего по всей таблице данных, всегда есть пара ячеек, которые объединяются в случайную строку, например так:

|Address||City|State|zip|205|305|6251|date|3650|store|lname|fname|ndc|address2||city2|state|zip|num|ber|cell|||bdate|90|Drug 200 MG|ndc|cost|pay|0.00|cost|pay|75.00|0.00|0.00|||||||||000|||200||||cost|M|0.00||||||||||||0.00|name1|name2|||||||||||||||||PRIMARY|On Hold|No Reason||||10:30|number|Will-Call|cost|drug TAB 200 MG|90|0|0|||||||||||||||||||0|Not Specified||0.00|0.00|0.00|

* Мне пришлось удалить конфиденциальные данные

Есть ли способ обойти эту проблему с помощью "|"Ограничитель?Или я должен просто попытаться использовать другой специальный разделитель?Я должен использовать специальные из-за запятых, табуляции и пробелов по всему отчету.

1 Ответ

0 голосов
/ 21 ноября 2018

Является ли проблема дополнительным переводом строки в CSV?

Если это так, код, подобный этому, удалит его (чтение файла как двоичного файла, выполнение замены в переводе строки, а затем преобразование его обратно в обычную таблицу.)

Source = Text.Replace(Text.FromBinary(File.Contents("RAW.csv")), "#(lf)#(lf)","#(lf)"),
Source2 = Text.Replace(Source, "#(lf)""",""""),
Continue = Lines.FromText(Source2),
#"Converted to Table" = Table.FromList(Continue, Splitter.SplitTextByDelimiter(","), null, null, ExtraValues.Error),
#"Promoted Headers" = Table.PromoteHeaders(#"Converted to Table", [PromoteAllScalars=true]),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...