Я пытаюсь читать в наборе |
текстовых файлов с разделителями-ограничителями строк и получать количество уникальных значений в определенном столбце для каждого файла, а также количество строк в файле. Я пробовал использовать Import-CSV
, но это заняло много времени и использовало много памяти. Файлы могут варьироваться от 20 МБ до 500 МБ, 10-15 файлов.PowerShell - отличительные значения в столбце нескольких файлов
Будет ли использовать считыватель потока быстрее? Как я могу подсчитать уникальные значения?
Get-ChildItem .\*filtered.txt -Name |
ForEach-Object {
if($dayofweek -eq 1) {
$importFile = Import-Csv $_ -Delimiter '|'
} else {
$importFile = Import-Csv $_ -Delimiter '|' -Header @("a", "Order-ID", "c", "d", "e", "f", "g", "h")
}
$numRows = $importFile | Measure-Object | Select-Object -expand count
$numUniqueOrderID = $importFile | Select Order-ID -Unique
echo "Filename: $_ `t Rows: $numRows `t"
echo "Unique Order-IDs"
$numUniqueOrderID
echo `n
}