CSVファイルをHTMLのTABLE文字列に変換するスクリプト

コンピュータ
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 <string[]> ヘッダの追加 -Delimiter <char> 区切り文字を指定
    $i = 0

    # テーブル変数
    $table = "<table>`r`n"

    # ヘッダー
    $names = $csv[0].psobject.properties | foreach {$_.Name}

    $table += ("`t<tr><th>" + ($names -join "</th><th>") + "</th></tr>`r`n")


    # メインループ
    $csv | % {
        
        $rec = $_

        $values = $rec.psobject.properties | foreach {$_.Value}
        $table += ("`t<tr><td>" + ($values -join "</td><td>") + "</td></tr>`r`n")
    }

    $table += "</table>`r`n"

    return $table
}
CSV2Table

入力ファイル

"ヘッダー1","ヘッダー2","ヘッダー3"
a,1,2
b,3,4
c,5,6

結果

ヘッダー1ヘッダー2ヘッダー3
a12
b34
c56

コメント