[英]Import-csv Multiple files
簡單的任務。 只是試圖遍歷一個包含 .csv 文件的文件夾並導入它們。 我有點困惑,因為這確實適用於其他腳本,但我必須遺漏一些非常明顯的東西。
$CSVFiles 在文件夾中正確找到 3 個文件。 但是 $csvOutput 只包含文件夾中最后一個文件的數據。 腳本的其余部分工作正常。
$CSVFolder = 'D:\XXXX\2021_MAY\'
$OutputFile = 'D:\XXXX\2021_MAY\merged_MAY.csv'
$CSVFiles = Get-ChildItem -Path $CSVFolder -Filter *.csv
foreach ($csv in $CSVFiles)
{$csvOutput = Import-Csv $csv.FullName
$group = $csvOutput | Select-Object
'Channel Reference',
'Received Date',
'Currency',
'Payment Method',
'Channel Payment Reference',
'Line Total Excluding Tax',
'Order Tax','Order Total' | Group-Object {$_.'Channel Reference'}
$group | Where Count -gt 1 | Foreach-Object
{
$_.Group[0].'Line Total Excluding Tax' = ($_.Group | Measure-Object 'Line Total Excluding Tax' -Sum).Sum
}
$group | Foreach-Object { $_.Group[0] } | Export-Csv $OutputFile -NoType
}
我現在已經解決了這個問題
$CSVFolder = 'D:\XXXX\2021_MAY\'
$OutputFile = 'D:\XXXX\2021_MAY\merged_MAY.csv'
$CSVFiles = Get-ChildItem -Path $CSVFolder -Filter *.csv
foreach ($csv in $CSVFiles){
$group = Import-Csv $csv.FullName | Select-Object 'Channel Reference','Received Date','Currency','Payment Method','Channel Payment Reference','Line Total Excluding Tax','Order Tax','Order Total' | Group-Object {$_.'Channel Reference'} |
Foreach-Object {
if ($_.Count -gt 1){
$_.Group[0].'Line Total Excluding Tax' = ($_.Group | Measure-Object 'Line Total Excluding Tax' -Sum).Sum
}
$_.Group[0]
}
$group | Export-Csv $OutputFile -notype -append
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.