Скрипт Powershell для объединения нескольких CSV с несколькими разделяемыми заголовками

У меня ограниченный доступ к инструментам программирования из-за политики компании.

Я использую PowerShell для преобразования нескольких файлов Excel, содержащихся в папке, для преобразования этих файлов в CSV, а затем объединить эти CSV вместе.

До сих пор я создал свой скрипт так, чтобы он преобразовывал все файлы excel и создавал другую часть, которая объединяет эти CSV и выводит ее в 1 CSV

Мой вопрос:

Выходной CSV не группирует аналогичные заголовки вместе, и, по существу, выходной CSV, который я создал, бесполезен.

У меня 8 CSV со следующими заголовками

INPUT: (CSV)

  1. Грантополучатель, Роль, Администратор, Делегат, По умолчанию, Общие
  2. Грантополучатель, Роль, Администратор, Делегат, По умолчанию, Общие
  3. Грантополучатель, Роль, Администратор, Делегат, По умолчанию, Общие
  4. Грантополучатель, Роль, Администратор, Делегат, По умолчанию, Общие
  5. Грант, Роль, Администратор, По умолчанию
  6. Грант, Роль, Администратор, По умолчанию
  7. Грант, Роль, Администратор, По умолчанию
  8. Грант, Роль, Администратор, По умолчанию

ВЫВОД:

1 CSV со следующими заголовками:

Grantee, Role, Admin, Delegator, Default, Common

Дубликаты в порядке доступа к выходному файлу, я не знаю, как обращаться с нулевыми значениями для 4 csvs, у которых нет заголовков «Delegator» и «Common».

Это то, что у меня есть до сих пор:

 foreach($file in (Get-ChildItem "C:\Users\ZZZZZZ\Desktop\PROJECT")) { $newname = $file.FullName -replace '\.xls$', '.csv' $ExcelWB = new-object -comobject excel.application $Workbook = $ExcelWB.Workbooks.Open($file.FullName) $Workbook.SaveAS($newname,6) $Workbook.Close($false) $ExcelWB.quit() } #combines all csv #combines them but does not line up the shared headers and also inserts the headers of the new csv into the sheet, would like to only have 1 header in the output $files = Get-ChildItem C:\Users\ZZZZZZ\Desktop\Project\*.csv Get-Content $files | Set-Content C:\Users\ZZZZZZ\Desktop\Project\MERGED.csv 

Я очень ценю любую помощь, которую любой может мне дать, должен был сделать много исследований, чтобы добраться до этой точки «как установить powershell», «как писать» скрипты, и это мой первый раз с использованием PowerShell.

Используйте командлеты Import-Csv и Export-Csv :

 Get-ChildItem C:\Users\ZZZZZZ\Desktop\Project\*.csv |ForEach-Object { Import-Csv $_.FullName } |Select-Object Grantee,Role,Admin,Delegator,Default,Common |Export-Csv C:\Users\ZZZZZZ\Desktop\Project\MERGED.csv -NoTypeInformation 

Для файлов, у которых нет заголовков Delegator и Common , значения будут просто пустыми в объединенном CSV-файле

  • Скрипт Powershell - открыть Excel, обновить внешние данные, сохранить как
  • CSV для именных листов в существующем учебнике
  • Как открыть книгу Excel из PowerShell для автоматизации
  • powershell транспонирует и сохраняет только один набор заголовков
  • Задание агента SQL Server сбой «Переместить элемент: доступ запрещен»
  • Обновление, копирование и переписывание файлов Excel
  • OleDbConnection становится System.Object при передаче функции
  • Как сохранить только необходимую книгу в excel с помощью powershell?
  • Несанкционированная ошибка в Powershell, но не в VBA
  • PowerShell Reverse CSV-данные
  • Сохранение нескольких файлов CSV как XLS
  • Interesting Posts

    Как активировать данную ячейку в Excel с помощью VBScript

    средство создания отчетов / средство просмотра для больших наборов данных

    Ошибка при назначении массива с использованием значения Split on range

    Ошибка времени выполнения 424 Началось без предупреждения

    Excel VBA для фильтрации сводной таблицы и сводной диаграммы за предыдущий день – поле поворотного фильтра

    Поиск нескольких элементов

    Событие Excel WorkbookBeforeClose несколько раз срабатывает

    Как отправить диаграмму Excel из макроса перспективы

    структурированная ссылка в excel vba: использование '#Headers ' в Range

    Вычислить статистическую значимость с помощью Excel

    Как импортировать высокоформатные данные из Excel в базу данных?

    Поиски объединения как настраивать мастера функций вставки UDF и заставить UDF манипулировать другими ячейками

    Как создать Filtered list, если значения соответствуют формулам?

    Одномерная матрица в двумерную матрицу в матрице по формуле или оси (excel)

    Получите сумму значений на одном листе и вставьте значение в другой лист

    Давайте будем гением компьютера.