LoginSignup
3
3

More than 3 years have passed since last update.

【初心者向け】Pythonによる簡単な文書作成

Posted at

Pythonを業務自動化するために使いたいという方は多いのではないでしょうか。
そこで、Pythonによって文書を作成する方法を具体例と共に初心者向けに解説しました。
私が試行錯誤して苦労した点をわかりやすく説明したいです。
例としてはリストから文書作成

 Python3系で動作します。

例1:リストから文書作成

■■やりたいこと■■

list.py
 Name = [Anago, Ikura, Unagi]

みたいなリストから

text0.txt
 Hello, I am Anago
text1.txt
 Hello, I am Ikura
text2.txt
 Hello, I am Unagi

っていう感じのファイルを作りたい。

■■実装■■
次のように書けます。

say_hi.py
 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が代入されます。

参考文献

参考にさせていただいたサイト

ファイル読み書き file open read write

pythonでファイルの読み書き

python for文を初心者向けに解説!for文基礎はこれで完璧

f-strings の使用例

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3