はじめに
こんにちは!今回は、PowerShellを使ってCSVファイルをJSONファイルに変換する方法をご紹介します。この方法は、データ形式の変換が必要な場合や、CSVデータをJSONを扱うアプリケーションで使用したい場合に非常に役立ちます。
準備
まず、変換したいCSVファイルがあることを確認してください。この例では、data.csv
というファイル名を使用します。
data.csvの例
以下のような内容のdata.csv
ファイルを用意したと仮定しましょう:
Name,Age,City
John Doe,30,New York
Jane Smith,25,Los Angeles
Mike Johnson,35,Chicago
この CSV ファイルには、名前、年齢、都市の情報が含まれています。
PowerShellスクリプト
以下のPowerShellスクリプトを使用して、CSVをJSONに変換できます:
# CSVファイルを読み込む
$csvData = Import-Csv -Path "data.csv"
# CSVデータをJSON形式に変換
$jsonData = $csvData | ConvertTo-Json
# JSONデータをファイルに出力
$jsonData | Out-File "output.json" -Encoding UTF8
スクリプトの説明
-
Import-Csv
コマンドレットを使用して、CSVファイルを読み込みます。 -
ConvertTo-Json
コマンドレットを使用して、CSVデータをJSON形式に変換します。 -
Out-File
コマンドレットを使用して、変換されたJSONデータをファイルに出力します。
使用方法
- 上記のスクリプトを
convert_csv_to_json.ps1
のような名前で保存します。 - PowerShellを開き、スクリプトが保存されているディレクトリに移動します。
- 以下のコマンドを実行してスクリプトを実行します:
.\convert_csv_to_json.ps1
- スクリプトが実行されると、同じディレクトリに
output.json
ファイルが作成されます。
変換結果の例
上記のdata.csv
を変換すると、以下のようなoutput.json
ファイルが生成されます:
[
{
"Name": "John Doe",
"Age": "30",
"City": "New York"
},
{
"Name": "Jane Smith",
"Age": "25",
"City": "Los Angeles"
},
{
"Name": "Mike Johnson",
"Age": "35",
"City": "Chicago"
}
]
注意点
- CSVファイルのエンコーディングが UTF-8 でない場合は、
Import-Csv
コマンドレットに-Encoding
パラメータを追加して適切なエンコーディングを指定してください。 - 大きなCSVファイルを処理する場合は、メモリ使用量に注意してください。必要に応じて、データを分割して処理することをお勧めします。
まとめ
このように、PowerShellを使用してCSVファイルをJSONファイルに簡単に変換できます。この方法は、データ形式の変換が必要な場合や、異なるシステム間でデータを移行する際に非常に便利です。
実際のCSVデータ例とその変換結果を見ることで、プロセスがより明確になったと思います。ぜひ自分のデータで試してみてください!
質問やフィードバックがあれば、コメントでお知らせください。