2017-01-23 8 views
1

У меня есть папка, содержащая около 130 файлов .csv, которые все отображаются, чтобы содержать похожие поля (имена столбцов). Однако, основываясь на некоторых именах файлов, у меня создается впечатление, что некоторые из файлов .CSV могут иметь слегка разные схемы (например, xxxxxx_new_format.cvs, xxxxx_version_2.csv). Моя мысль состоит в том, чтобы скопировать первую строку каждого .csv в текстовый документ для сравнения.Сравнение первой строки в нескольких CSV

Таким образом, я создал следующий скрипт:

Get-Content "C:\*.csv" | ForEach-Object { 
    Select-Object -First 1 | Out-File "C:\compare.txt" 
} 

, который, казалось, идти в бесконечный цикл.

Как я должен атаковать эту проблему? Если есть лучший метод сравнения (т. Е. Я должен использовать python), пожалуйста, дайте мне знать.

+1

'Get-Content. "C: *. CSV" -TotalCount 1' – PetSerAl

+0

Чтобы иметь имя файла рядом с каждым заголовком я предлагаю' GCI * .csv |% {$ _ Ф.И.О ; gc $ _ -totalcount 1} ' – LotPings

ответ

1

попробовать это

Get-ChildItem "C:\temp2\*.csv" | 
    %{[pscustomobject]@{FileName=$_.FullName;Header=gc $_.FullName -TotalCount 1}} | 
     group Header 
Смежные вопросы