簡體   English   中英

導入-csv 多個文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM