У меня есть CSV-файл с одним столбцом. В зависимости от того, сколько кодов ошибок имеет моя машина, этот столбец будет иметь различное количество кодов (до 10 под-столбцов - см. Пример ниже). Я хочу управлять этим CSV таким образом, чтобы выход был чистым списком уникальных кодов отказа что произошло.Удаление дубликатов из файла CSV с помощью PowerShell
Образец CSV-файл (sample.csv):
ActiveFaults
00:1523 00:1345 00:1343 90:1344
00:1523 00:1345 00:1343 90:1344
00:1523 00:1345 00:1343 90:1344
00:1523 00:1345 00:1343 90:1344
00:1523 00:1345 00:1343 90:1344 90:5900 90:8988
00:1523 00:1345 00:1343 90:1344 90:5900 90:8988
BA:8797 BA: 1330
Идеальный выход будет файл CSV в следующей форме:
IdealOutput.csv
UniqueActiveFaults
00:1523
00:1345
00:1343
90:1344
90:5900
90:8988
BA:8797
BA:1330
Любые идеи, как это может быть сделано? Я пробовал несколько способов (используя -Sort, -Group и т. Д. ... но никто не работал по своему усмотрению) Спасибо.
Я думаю, что файл имеет строку заголовка («ActiveFaults»). Также выходной файл имеет строку заголовка. В этом случае я думаю, что было бы разумно использовать 'import-csv' и' export-csv' inst'aed 'get-content' и' out-file'. –
@ dan-gph Да, но если файл огромен, вы можете взять на себя огромные накладные расходы от создания объектов с единственным свойством UniqueActiveFaults, чтобы иметь возможность записать его обратно на диск с помощью 'Export-Csv'. Если файл имел несколько столбцов, это может иметь смысл, но в этом случае я не думаю, что компромисс стоит –
Массивные накладные расходы? Это звучит как преждевременная оптимизация. Насколько нам известно, файлы имеют длину всего 10 строк. В соответствии с этим ваш код не соответствует требованиям, поскольку он не касается заголовков. Кстати, я не думаю, что -ReadCount поможет вам. В любом случае Sort-Object придется загружать весь файл в память. –