最初の列の値に基づいて、その列の値を出力ファイル名として使用して、別の CSV ファイルに分割しようとしているソース CSV ファイル (ヘッダーなし、すべての列をコンマで区切る) を取得しました。
入力ファイル:
S00000009,2016,M04 01/07/2016,0.00,0.00,0.00,0.00,0.00,0.00,750.00,0.00,0.00 S00000009,2016,M05 01/08/2016,0.00,0.00,0.00,0.00,0.00,0.00,600.00,0.00,0.00 S00000009,2016,M06 01/09/2016,0.00,0.00,0.00,0.00,0.00,0.00,600.00,0.00,0.00 S00000010,2015,W28 2015/05/10,2275.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00 S00000010,2015,W41 04/01/2016,0.00,0.00,0.00,0.00,0.00,0.00,568.75,0.00,0.00 S00000010,2015,W42 11/01/2016,0.00,0.00,0.00,0.00,0.00,0.00,568.75,0.00,0.00 S00000012,2015,W10 01/06/2015,0.00,0.00,0.00,0.00,0.00,0.00,650.00,0.00,0.00 S00000012,2015,W11 08/06/2015,0.00,0.00,0.00,0.00,0.00,0.00,650.00,0.00,0.00 S00000012,2015,W12 15/06/2015,0.00,0.00,0.00,0.00,0.00,0.00,650.00,0.00,0.00
私の PowerShell スクリプトは次のようになります。
Import-Csv INPUT_FILE.csv -Header service_id,year,period,cash_exp,cash_inc,cash_def,act_exp,act_inc,act_def,comm_exp,comm_inc,comm_def |
Group-Object -Property "service_id" |
Foreach-Object {
$path = $_.Name + ".csv";
$_.group | Export-Csv -Path $path -NoTypeInformation
}
出力ファイル:
S00000009.csv
:
「service_id」、「年」、「期間」、「cash_exp」、「cash_inc」、「cash_def」、「act_exp」、「act_inc」、「act_def」、「comm_exp」、「comm_inc」、「comm_def」 "S00000009","2016","M04 01/07/2016","0.00","0.00","0.00","0.00","0.00","0.00","750.00","0.00"," 0.00" "S00000009","2016","M05 01/08/2016","0.00","0.00","0.00","0.00","0.00","0.00","600.00","0.00"," 0.00" "S00000009","2016","M06 01/09/2016","0.00","0.00","0.00","0.00","0.00","0.00","600.00","0.00"," 0.00"
S00000010.csv
:
「service_id」、「年」、「期間」、「cash_exp」、「cash_inc」、「cash_def」、「act_exp」、「act_inc」、「act_def」、「comm_exp」、「comm_inc」、「comm_def」 "S00000010","2015","W28 05/10/2015","2275.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00"," 0.00" "S00000010","2015","W41 04/01/2016","0.00","0.00","0.00","0.00","0.00","0.00","568.75","0.00"," 0.00" "S00000010","2015","W42 11/01/2016","0.00","0.00","0.00","0.00","0.00","0.00","568.75","0.00"," 0.00"
列 1 (service_id) のヘッダー値を使用して、新しいファイルを生成しています。2つの問題があります。
- 出力 CSV ファイルには、必要のないヘッダー行が含まれています。
- 列は、必要のない二重引用符で囲まれています。