Import-Csvで出力されるオブジェクトは配列でCSVの行をPSObjectのプロパティでCSVの項目名と値を表現しています。
それをみてHTMLのTABLEを連想したので変換するスクリプトを作ってみました。
スクリプト
#
# CSVファイルをHTMLのTABLEに変換する
#
function CSV2Table
{
param (
$csv_path = "h:\script\csv-sample-in.csv"
)
# 読み込み(インポート)
$csv = Import-Csv -Path $csv_path -Encoding UTF8 # -Header ヘッダの追加 -Delimiter 区切り文字を指定
$i = 0
# テーブル変数
$table = "`r`n"
# ヘッダー
$names = $csv[0].psobject.properties | foreach {$_.Name}
$table += ("`t" + ($names -join " | ") + " |
`r`n")
# メインループ
$csv | % {
$rec = $_
$values = $rec.psobject.properties | foreach {$_.Value}
$table += ("`t" + ($values -join " | ") + " |
`r`n")
}
$table += "
`r`n"
return $table
}
CSV2Table
入力ファイル
"ヘッダー1","ヘッダー2","ヘッダー3"
a,1,2
b,3,4
c,5,6
結果
ヘッダー1 | ヘッダー2 | ヘッダー3 |
a | 1 | 2 |
b | 3 | 4 |
c | 5 | 6 |
コメント