Объединение двух CSV-файлов с помощью PowerShell (заголовочный файл и файл данных) - PullRequest
0 голосов
/ 07 марта 2019

CSV-файл 1 (файл заголовков):

Заголовок 1, Заголовок 2, Заголовок 3 ...

CSV-файл 2 (файл данных):

Запись данных 1, Запись данных 2, Запись данных 3 ...


Файл 1 содержит только заголовки, тогда как файл 2 содержит данные, которые соответствуют заголовкам в файле 1. Можно ли добавить данные в файле 2 в заголовки в файле 1 с помощью скрипта PowerShell, чтобы файл 2 (или новый файл) теперь выглядел следующим образом:

Выходной файл CSV

Заголовок 1, Заголовок 2, Заголовок 3 ...

Запись данных 1, Запись данных 2, Запись данных 3 ...


Извинения за форматирование вопроса, первый пост здесь. Буду очень признателен за любую помощь, заранее спасибо!

1 Ответ

1 голос
/ 07 марта 2019
$Headers = (Get-Content csv1.csv).Split(',')
$outputCSV = Import-CSV csv2.csv -Header $Headers
$outputCSV | Export-CSV output.csv -NoTypeInformation

Переменная $Headers хранит значения с разделителями-запятыми из файла csv1.csv (файла, который содержит только заголовки).

Метод Split() разбивает содержимое csv1.csv на каждую запятую, удаляет запятую и создает массив этих разбиений.

Trim() можно добавить после метода Split() для удаления лишних пробелов вокруг запятых.

$outputCSV импортирует csv2.csv как файл csv и добавляет строку заголовка из массива $Headers.

Последняя команда экспортирует содержимое $outputCSV в новый CSV-файл с именем output.csv.

В командах Import-CSV и Export-CSV имена файлов, которые я указал, присваиваются параметру -Path. При необходимости вы можете полностью указать эти пути, т. Е. Им не обязательно иметь только имена файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...