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