CSV(Comma Separated Values)ファイルは、データを表形式で格納するための一般的なフォーマットで、各データ項目は通常カンマで区切られています。
データの中にカンマが含まれていることがあると、各項目をダブルコーテーションで囲むことが必要になります。
この記事では、PowerShellのImport-Csvコマンドレッドを使用して、CSVファイルの各項目にダブルコーテーションを付ける方法について説明します。
CSVファイルのサンプル
以下のCSVファイルを使用します。(文字コード:UTF-8)

手順
1.CSVファイルの読み込み
まず、CSVファイルを読み込みます。
PowerShellのImport-Csvコマンドレットを使用して、CSVファイルを読み込むことができます。
$csvData = Import-Csv -Path "C:\temp\sample.csv" -Encoding utf8
この例では、CSVファイルの内容を$csvDataという変数に読み込みます。
2.CSVファイルに書き込む
読み込んだ内容($csvData)を、Export-Csvコマンドレッドを使用して、CSVファイルに書き込みます。
Export-Csvコマンドレッドはダブルコーテーション付きで出力します。
$csvData | Export-Csv -Path "C:\temp\after_sample.csv" -NoTypeInformation -Encoding utf8
「-NoTypeInformation」パラメータは、csv 出力から TYPE 情報ヘッダー(TYPE System.Management.Automation.PSCustomObject)を削除します。
「-Encoding」パラメータは、文字コードを指定します。今回はutf8を指定します。
完全なコード
CSVファイルの各項目にダブルコーテーションを付ける一連の処理は以下のように記述することができます。
$csvData = Import-Csv -Path "C:\temp\sample.csv" -Encoding utf8 $csvData | Export-Csv -Path "C:\temp\after_sample.csv" -NoTypeInformation -Encoding utf8
このスクリプトを実行すると、元のCSVファイルの各項目にダブルコーテーションが追加され、新しいCSVファイルに保存されます。

注意点
このスクリプトは元のCSVファイルを変更せず、新しいCSVファイルに保存します。
まとめ
今回は、PowerShellを使用して、CSVファイルの各項目にダブルコーテーションを付ける方法について説明しました。
ダブルコーテーションを追加することで、CSVファイル内のテキストがダブルコーテーションで囲まれるため、カンマが含まれていてもデータが正しく解釈されます。