ユーザ用ツール

サイト用ツール


powershell:csvから仕様書の形に近いテキストにする1

要件

  * CSVファイルからデータを入力する
  * カラム名はNum, food, price, calとする
  * テキスト形式で出力する
  * 出力形式は以下の通り:
  * 1行目: タブで区切られたカラム名
  * 2行目以降: タブで区切られた各要素の値
  * スペースを含む項目名も出力し、スペースを含めてそのまま出力する
  * 2行以上の表を扱う場合でも同様に出力できるようにする
  * 出力結果をファイルに保存する

インプット

Num,food,price,cal
1,焼肉,3,000 Y,800 kcal
2,寿司,2,500 Y,600 kcal

アウトプット

                近くに ある       1               焼肉
                        安め だと思う     3,000 Y         800 kcal
                近くに ある       2               寿司
                        安め だと思う     2,500 Y         600 kcal

スクリプト

# 入力データをCSVファイルから読み込む
$foods = Import-Csv -Path "input.csv"

# 出力用の配列を初期化する
$output = @()

# カラム名を出力用配列に追加する
$output += "`t`t近くに ある`tNum`t`t`tfood"
$output += "`t`t`t安め だと思う`t`tprice`t`tcal"

# 各要素の値を出力用配列に追加する
foreach ($food in $foods) {
    $output += "`t`t近くに ある`t$($food.Num)`t`t`t$($food.food)"
    $output += "`t`t`t安め だと思う`t`t$($food.price)`t`t`t$($food.cal)"
}

# 出力用配列をテキストファイルに保存する
$output | Out-File -FilePath "output.txt" -Encoding utf8
powershell/csvから仕様書の形に近いテキストにする1.txt · 最終更新: 2023/04/07 04:41 by taatin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki