#author("2018-06-26T20:10:02+09:00","","")
#navi(../)
* PowerShellでCSVファイルのインポート [#def0a2ca]
PowerShellのImport-Csvコマンドレットを使用してCSVファイルから読み込むサンプルコードを以下に紹介します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#a22ebd6d]
-[[ハッシュ(連想配列)の要素をforeachで表示するサンプルコード>PowerShell/ハッシュ(連想配列)の要素をforeachで表示するサンプルコード]]
-[[PowerShellでハッシュ(連想配列)に要素を追加する>PowerShell/ハッシュ(連想配列)に要素を追加する]]
-[[PowerShellでCSVファイルのインポート>PowerShell/CSVファイルのインポート・Import-Csv]]
-[[配列やハッシュの各値を要素としたループのサンプル>PowerShell/配列やハッシュの各値を要素としたループのサンプル]]
-[[PowerShellで配列内の文字列を連結し1つの変数に格納したい>PowerShell/配列内の文字列を連結し1つの変数に格納したい]]
-[[ハッシュの配列を表形式(Format-Table)で表示する方法>PowerShell/ハッシュの配列を表形式(Format-Table)で表示する方法]]

* CSVファイルを読み込む・Import-Csv [#g77e60ee]
使用したcsvファイルは以下の通りです。
#ref(in.csv)
 sakura,suzuran
 tsubaki,ajisai
csvファイルを読み込むPowerShellのサンプルコードは以下の通りです。
#ref(import-csv.ps1)
 # ヘッダ未指定(1行目がヘッダとして指定されてしまう)
 $c1 = Import-Csv in.csv
 # CSVファイルの読込(ヘッダー指定)
 $c2 = Import-Csv in.csv -Header "name1", "name2"
 # カラムを指定して表示する
 $c3 = Import-Csv in.csv -Header "name1", "name2" | Select-Object "name1"
 
 Write-Host $c1
 Write-Host $c2
 Write-Host $c3
上記のサンプルスクリプトを実際に実行した時の出力です。
 PS C:\work> .\import-csv.ps1
 @{sakura=tsubaki; suzuran=ajisai}
 @{name1=sakura; name2=suzuran} @{name1=tsubaki; name2=ajisai}
 @{name1=sakura} @{name1=tsubaki}

コンソールで上記の$c1, $c2, $c3を確認してみます。~
以下に各要素を実際にアクセスする表記を記します。

** $c1を操作 [#zb55b2a4]
 PS C:\work> $c1
 
 sakura                                                                  suzuran                                                               
 ------                                                                  -------                                                               
 tsubaki                                                                 ajisai                                                                
 
 PS C:\work> $c1.sakura
 tsubaki
 
 PS C:\work> $c1.suzuran
 ajisai

** $c2を操作 [#ib797e78]
 PS C:\work> $c2
 
 name1                                                                   name2                                                                 
 -----                                                                   -----                                                                 
 sakura                                                                  suzuran                                                               
 tsubaki                                                                 ajisai                                                                
 
 PS C:\work> $c2[0].name1
 sakura
 
 PS C:\work> $c2[0].name2
 suzuran
 
 PS C:\work> $c2[1].name1
 tsubaki
 
 PS C:\work> $c2[1].name2
 ajisai

** $c3を操作 [#dfc96710]
 PS C:\work> $c3
 
 name1                                                                                                                                         
 -----                                                                                                                                         
 sakura                                                                                                                                        
 tsubaki                                                                                                                                       
 
 PS C:\work> $c3[0].name1
 sakura
 
 PS C:\work> $c3[1].name1
 tsubaki


以上、PowerShellでCSVファイルを読み込むサンプルスクリプトでした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS