PowerShell:
CSVとの作業

方法:

CSVファイルの読み込み

CSVファイルから読み取るには、Import-Csv コマンドレットを使用します。このコマンドレットはファイルを読み取り、各行に対してカスタムのPowerShellオブジェクトに変換します。

# CSVファイルをインポート
$data = Import-Csv -Path "C:\Data\users.csv"
# 内容を表示
$data

サンプル出力:

Name    Age    City
----    ---    ----
John    23     New York
Doe     29     Los Angeles

CSVファイルへの書き込み

逆に、CSVファイルにデータを書き込むには、Export-Csvコマンドレットを使用します。このコマンドレットは入力オブジェクトを取り、それをCSV形式に変換します。

# エクスポートするオブジェクトの作成
$users = @(
    [PSCustomObject]@{Name='John'; Age='23'; City='New York'},
    [PSCustomObject]@{Name='Doe'; Age='29'; City='Los Angeles'}
)

# CSVファイルにエクスポート
$users | Export-Csv -Path "C:\Data\new_users.csv" -NoTypeInformation

実行後、「new_users.csv」という名前のファイルが提供されたデータで作成されます。

CSVコンテンツのフィルタリングと操作

CSVファイルからのデータをフィルタリングまたは操作するには、PowerShellのオブジェクト操作機能を使用します。たとえば、ある特定の年齢以上のユーザーおよび特定の都市からのユーザーのみを選択する場合:

# データのインポートとフィルタリング
$filteredData = Import-Csv -Path "C:\Data\users.csv" | Where-Object {
    $_.Age -gt 25 -and $_.City -eq 'Los Angeles'
}

# フィルタリングされたデータを表示
$filteredData

サンプル出力:

Name    Age    City
----    ---    ----
Doe     29     Los Angeles

サードパーティのライブラリを使用する

一般的なタスクにはPowerShellのネイティブなコマンドレットが通常十分な場合が多いですが、より複雑な操作にはサードパーティのライブラリやツールが役立つことがあります。ただし、読み取り、書き込み、フィルタリング、またはソートなど、標準的なCSV操作に関しては、Import-CsvExport-Csv などのPowerShellの組み込みコマンドレットが通常、追加のライブラリなしで堅牢な機能を提供します。