PowerShell のアレイへの CSV ファイルのインポート

Marion Paul Kenneth Mendoza 2023年6月21日
  1. カンマ区切り値ファイル
  2. Import-CSV コマンドレットを使用して、PowerShell のアレイに CSV ファイルをインポートする
  3. PowerShell の配列に CSV ファイルをインポートした後の要素へのアクセス
PowerShell のアレイへの CSV ファイルのインポート

多くの場合、さまざまなソースからのデータがさまざまな形式で表示されます。通常、データ抽出に使用される標準形式は CSV 形式です。

この記事では、コンマ区切りのファイルまたは CSV データを読み取り、PowerShell を使用して配列変数に配置する方法について説明します。

カンマ区切り値ファイル

CSV(コンマ区切り値)ファイルには、コンマで区切られたデータまたはセットが含まれています。これにより、データを表形式で保存できます。

ユーザーは、MicrosoftExcel や Google スプレッドシートなどのほとんどのスプレッドシートプログラムで CSV ファイルを利用できます。ただし、表形式に対応していないソフトウェアで開くと、データはコンマで区切られ、PowerShell は値を配列に分割するために使用できます。

たとえば、以下は 2 列の生の CSV 形式です。

users.csv ファイル:

Name,Salary
John,1000
Paul,2000
Mary,1500
Matt,3000

Import-CSV コマンドレットを使用して、PowerShell のアレイに CSV ファイルをインポートする

Windows PowerShell の Import-CSV コマンドは、上記の CSV ファイルに表示されているアイテムからカスタムオブジェクトのようなテーブルを作成します。

以下の Windows PowerShell スクリプトでは、Import-CSV コマンドを使用して、CSV ファイルデータを Windows PowerShell 配列型変数に割り当てます。

$users = Import-CSV C:\PS\users.csv
$users

実行すると、CSV ファイルの値が ArrayList オブジェクトと呼ばれる形式リストに変換されていることがわかります。

出力:

Name Salary
---- ------
John 1000
Paul 2000
Mary 1500
Matt 3000

PowerShell の配列に CSV ファイルをインポートした後の要素へのアクセス

Import-CSV コマンドレットを使用して配列を作成した後、いくつかの配列要素にアクセスできます。

配列内のすべての要素にアクセスするには、前の例のようにオブジェクトを使用できます。

$users = Import-CSV C:\PS\users.csv
$users

出力:

Name Salary
---- ------
John 1000
Paul 2000
Mary 1500
Matt 3000

配列から要素を照会するために、変数にインデックスインジケーターを追加できます。以下の例では、インデックス 0 インジケーターを使用して配列の最初のデータをクエリします。

$users = Import-CSV C:\PS\users.csv
$users[0]

出力:

Name Salary
---- ------
John 1000

次の例のように列名をプロパティ名として扱うことで、Windows PowerShell 配列の特定の要素からプロパティをクエリできます。

$users = Import-CSV C:\PS\users.csv
$users[0].Name

出力:

John

以下の count プロパティを使用して、配列内の要素の数をカウントできます。

$users = Import-CSV C:\PS\users.csv
$users.Count

出力:

4
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell Array

関連記事 - PowerShell CSV