PowerShell のアレイへの CSV ファイルのインポート
- カンマ区切り値ファイル
-
Import-CSV
コマンドレットを使用して、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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn関連記事 - PowerShell Array
- PowerShell の関数に配列を渡す
- PowerShell で配列の空の配列を作成する
- PowerShell で配列の長さを数える
- PowerShell のバイト配列
- PowerShell の文字列の配列