У меня есть папка с 500 CSV-файлами в каждой с приложением 80.000 строк. Мне нужно добавить дату (на основе имени файла) в 1-й столбец.
Сценарий, который я взял из различных образцов, делает почти то, что должен. Он создает новый файл для каждого в папке с новым столбцом на 1-м месте с правильным именем заголовка, но все строки в этом столбце пусты.
Пример имени файла: 2020-03-31_xxxxxxxx.csv
Было бы замечательно, если бы кто-то мог взглянуть на это.
$items = Get-ChildItem -Path "C:\Temp\Data\*.csv"
for ($i=0; $i -lt $items.Count; $i++)
{
$outfile = $items[$i].FullName + "out"
Import-Csv $items |
Select-Object @{Name='Date';Expression={Get-ChildItem -Name $items.Name.SubString(0,9)}},* |
Export-Csv -NoTypeInformation -delimiter ";” $outfile
}
Также в экспорте должно быть преобразование для отсутствия "" в CSV, но я также не возможность добавить это, не получая ошибок.
(ConvertTo-Csv -NoTypeInformation -delimiter ";”) | Foreach-Object { $_ -replace '"', '' } | Out-File $outfile