全部、ChatGPTさんに教えてもらいました。
Linux(Ubuntu)環境だけならBashだけでいいんだけど、最近、(Linuxを使っていない)Windows環境の人たちとも共同で作業することが多くなってきたので、「Pythonで書けないかなぁ…、でも、Pythonの書き方全く知らないし…、そうだ、ChatGPTさんに聞いてみよう」と思い立って…。
僕はPythonについては本当に知識ゼロだったのに、ChatGPTさんとやり取りしながら、比較的簡単にスクリプトが作れちゃったよ…。
いや、本当にプログラミングに関しては、ChatGPTさん、マジ便利。
Pythonスクリプト
以下を sample.csv と同じディレクトリ(フォルダ)内に test.py として保存。
import csv
import sys
# csvファイルからC1とB2の値を取得
with open(f'{sys.argv[1]}') as f:
rows = list(csv.reader(f))
c1_value = rows[0][2]
b2_value = rows[1][1]
# HTMLの作成
html = f"""<html>
<body>
<table>
<tr><td>見出し1</td><td>{c1_value}</td></tr>
<tr><td>見出し2</td><td>{b2_value}</td></tr>
</table>
</body>
</html>"""
# HTMLのファイルへの書き込み
with open('python_output.html', 'w') as f:
f.write(html)
端末で次を実行。
$ python3 test.py sample.csv
python_output.html というファイルが同じフォルダ内にできているはず。
Bashスクリプト
以下を sample.csv と同じディレクトリ(フォルダ)内に test.sh として保存。
#!/bin/bash
# csvファイルからC1とB2の値を取得
c1_value=$(cut -d ',' -f 3 $1 | head -n 1)
b2_value=$(cut -d ',' -f 2 $1 | sed -n '2p')
# HTMLの作成
cat <<EOF > bash_output.html
<html>
<body>
<table>
<tr><td>見出し1</td><td>${c1_value}</td></tr>
<tr><td>見出し2</td><td>${b2_value}</td></tr>
</table>
</body>
</html>
EOF
端末で次を実行。
$ bash test.sh sample.csv
bash_output.html というファイルが同じフォルダ内にできているはず。