【发布时间】:2020-04-01 07:43:08
【问题描述】:
我有一个包含 500 个 CSV 的文件夹,每个文件夹包含 80.000 行应用程序。我需要在第一列中添加日期(基于文件名)。
我从各种样本中提取的脚本几乎完成了它应该做的事情。它为文件夹中的每个文件创建一个新文件,在第一个位置有一个新列,标题名称正确,但该列中的所有行都是空的。
文件名示例: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
【问题讨论】: