Pythonを業務自動化するために使いたいという方は多いのではないでしょうか。
そこで、Pythonによって文書を作成する方法を具体例と共に初心者向けに解説しました。
私が試行錯誤して苦労した点をわかりやすく説明したいです。
例としてはリストから文書作成
Python3系で動作します。
例1:リストから文書作成
■■やりたいこと■■
Name = [“Anago”, ”Ikura”, ”Unagi”]
みたいなリストから
Hello, I am Anago
Hello, I am Ikura
Hello, I am Unagi
っていう感じのファイルを作りたい。
■■実装■■
次のように書けます。
Name = ["Anago", "Ikura", "Unagi"]
for i, name in enumerate(Name):
with open(f"text{i}.txt", "w") as file:
file.write(f"Hello, I am {name}")
■■解説■■
■1行目 Name = ["Anago", "Ikura", "Unagi"]
ただの文字のリストです。
■2行目 for i, name in enumerate(Name):
enumerateという組み込み関数(importなしに使える関数)を使っていて、
これはリストをあたえると、何番目の要素であるかを表すインデックスと要素を返してくれます。
インデックス、要素の順です。
ループ内でi, nameがそれぞれインデックス、要素を表す変数になります。
■3行目 with open(f"text{i}.txt", "w") as file:
ここは複雑です。
まず、with構文を使っています。
本当はファイルをopenをしたらcloseをしなければいけないのですが、これを省略することができます。
open(f"text{i}.txt", "w") as file
はopenでファイルを開く処理をして、得られたファイルオブジェクト(ファイルを表す変数のようなもの)というものにfileという名前をつけています。
openは2つの引数を取っています。
1つめはファイル名を表しています。
f"text{i}.txt"はf-stringsというもので、""でくくった文字列中の{i}で変数iが代入されます。これによって、ループによって異なるファイル
text0.txt
text1.txt
text2.txt
に書き込むことができます。
2つめの"w"は、1つめの引数で指定したファイル名のファイルがなければ、新規作成、あったら上書き保存することを表しています。
■4行目 file.write(f"Hello, I am {name}")
file.write
は3行で得たファイルオブジェクトfileに対して書き込むことを表しています。
中身のf"Hello, I am {name}"はこれもf-stringsで{name}によってnameが代入されます。
#参考文献
参考にさせていただいたサイト
python for文を初心者向けに解説!for文基礎はこれで完璧
[f-strings の使用例]
(https://qiita.com/QUANON/items/77ce3a9e7e33dbed489b)