Как разделить объединенные данные, сохраняя данные в том же порядке? - PullRequest
0 голосов
/ 10 ноября 2019

Я получаю отчет несколько раз в неделю, в котором данные объединены в одно поле, и мне нужно разбить его на части. Я знаю, как использовать Excel для разделения на столбцы, но это не работает для этого отчета, потому что данные могут иметь любое количество значений (там может быть только 3 значения, там может быть 10 значений, и явидел 150 значений там) - так что я могу в конечном итоге с тоннами столбцов. И если бы это решило проблему, я бы просто сделал это, а затем транспонировал, но следующая проблема заключается в том, что обычно есть 3 столбца данных, которые нужно разделить, сохраняя данные в том же порядке, в котором они связаны друг с другом. ,Поэтому, если в каждом из моих 3 столбцов есть 2 значения, первое значение всегда должно оставаться связанным с первым значением в других столбцах. Я сделал пример ниже. В первой таблице вы увидите, как я получаю данные, а во второй таблице я пытаюсь выполнить.

Честно говоря, мне все равно, как мне нужно это обрабатывать - Excel,PowerShell, SQL - все, что работает. Реальные отчеты обычно содержат около 300 тыс. Строк табуляции, но это может быть целых 2 млн. Строк. Все, что я пытаюсь сделать, на самом деле не дает мне уверенности в том, что после разделения информация, которая принадлежит друг другу, является правильной (и это должно быть - это отчет, который используется в судебном процессе и может быть запрошен судами). [Мои примеры, приведенные ниже, являются очень простыми - мои настоящие данные - это, как правило, имена, абсолютные пути, имена файлов, даты.]

Две таблицы, первая - пример того, как я получаю данные, вторая - пример того, как янужно

РЕДАКТИРОВАТЬ: данные поступают в CSV с разделителями табуляции.

До сих пор мы только использовали Excel, чтобы разделить их, а затем мы подали их в SQL для храненияэто и сообщить об этом правильно. Обычно мы фильтруем все строки, имеющие только две точки с запятой, а затем разбиваем их на два столбца для каждого из трех наборов значений;затем мы очищаем эти строки и фильтруем три точки с запятой и разделяем их на три столбца;промыть и повторить - это невероятно много времени.

1 Ответ

0 голосов
/ 11 ноября 2019

Я думаю, что это на самом деле может работать. Это немного задыхается на моей машине, но пока кажется правильным.

https://stackoverflow.com/a/51552734

...