HOWTO · PowerShell

PowerShell で CSV ファイルにデータを追加する方法

このチュートリアルでは、PowerShell を使用して CSV ファイルにデータを追加する方法を学びます。

このページの内容

カンマ区切り値(CSV)ファイルは、データを表形式で保存する区切られたテキストファイルです。各値は区切り文字 , またはその他の文字で分けられています。

PowerShell の Export-Csv コマンドレットは、指定されたオブジェクトから一連の CSV 文字列を作成し、それらをファイルに保存します。PowerShell で CSV ファイルを扱う際、CSV ファイルを追加する必要がある場合があります。

この記事では、PowerShell を使用して CSV ファイルにデータを追加する方法を説明します。

PowerShell で -Append パラメーターを使用して CSV ファイルにデータを追加するために Export-CSV を使用する

PowerShell で CSV ファイルにデータを追加することは一般的な作業であり、特に既存のデータを上書きせずに新しい情報を追加したい場合に便利です。Export-CSV コマンドレットは、この目的を -Append パラメーターを使用して簡単に達成できます。

このパラメーターを使用すると、既存の CSV ファイルの内容を消去せずにデータを追加できます。

例:

$data = @{
    Name = "John Doe"
    Age  = 30
    City = "New York"
}

$obj = New-Object PSObject -Property $data

$obj | Export-Csv -Path "data.csv" -Append -NoTypeInformation

この例では、まず個人の名前、年齢、都市に関する情報を含むハッシュテーブル $data を定義します。次に、New-Object コマンドレットを使用して、このハッシュテーブルからカスタムオブジェクト $obj を作成します。

最後に、Export-CSV コマンドレットを使用して、-Append パラメーターで $obj オブジェクトを data.csv という名前の CSV ファイルに追加します。 -NoTypeInformation パラメーターは、タイプ情報が CSV ファイルに含まれず、クリーンな出力が得られることを保証します。

出力:

powershell CSV に追加 - 出力

PowerShell で ConvertTo-CSV と Add-Content を使用して CSV ファイルにデータを追加する

PowerShell で CSV ファイルにデータを追加するには、ConvertTo-CSV コマンドレットと Add-Content コマンドレットの組み合わせを使用できます。この方法は、既存の CSV ファイルに新しいデータを追加したいが、その内容を上書きしたくない場合に便利です。

データを CSV 形式に変換し、それをファイルに追加することで、新しい情報で CSV ファイルをシームレスに更新できます。

例:

$data = @{
    Name = "John Doe"
    Age  = 30
    City = "New York"
}

$csvData = $data | ConvertTo-Csv -NoTypeInformation
Add-Content -Path "data.csv" -Value $csvData

この例では、まず $data ハッシュテーブルからカスタムオブジェクト $obj を作成します。次に、ConvertTo-CSV を使用してカスタムオブジェクトを CSV 形式に変換し、結果を変数 $csvData に保存します。

最後に、Add-Content を使用して CSV データを data.csv ファイルに追加します。これにより、CSV 形式への変換のために正しいデータ構造が使用されていることが保証され、ファイルに追加されます。

出力:

powershell を使用して csv に追加 - 出力

PowerShell で ConvertTo-CSV と Out-File を使用して CSV ファイルにデータを追加するための -Append パラメーター

PowerShell で CSV ファイルにデータを追加するには、ConvertTo-CSV コマンドレットと Add-Content コマンドレットの組み合わせを使用できます。この方法は、既存の CSV ファイルに新しいデータを追加したいが、その内容を上書きしたくない場合に便利です。

データを CSV 形式に変換し、それをファイルに追加することで、新しい情報で CSV ファイルをシームレスに更新できます。

例:

$data = @{
    Name = "John Doe"
    Age  = 30
    City = "New York"
}

$obj = New-Object PSObject -Property $data

$csvData = $obj | ConvertTo-Csv -NoTypeInformation
$csvData | Out-File -FilePath "data.csv" -Append

この例では、まず個人に関する情報を含むハッシュテーブル $data を定義します。次に、New-Object コマンドレットを使用して、このハッシュテーブルからカスタムオブジェクト $obj を作成します。次に、ConvertTo-CSV を使用してカスタムオブジェクトを CSV 形式に変換し、結果を変数 $csvData に保存します。

最後に、Out-File を使用して -Append パラメーターで CSV データを data.csv ファイルに追加します。これにより、データが既存のファイルに追加され、その内容を上書きせずに済みます。

出力:

powershell CSV に追加 - 出力

結論

結論として、PowerShell で CSV ファイルにデータを追加することは、既存のデータを更新するために情報を失うことなく行う一般的な要件です。私たちはこれを達成するための 3つの方法を探りました: -Append パラメーターを使用した Export-CSV、Add-Content を使用した ConvertTo-CSV、および -Append パラメーターと共に Out-File を使用することです。

各方法には、それぞれの利点があり、特定の要件に応じて選択できます。PowerShell のスキルをさらに向上させるために、CSV データの操作、エラーの処理、または PowerShell スクリプトを使った複雑なタスクの自動化など、より高度なトピックを探求することを考慮してください。