Pythonでファイルにリストデータを書き込む

Pythonでファイルにリストデータを書き込んでみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■file.writelines()関数を使用しリストデータを書き込む

では、ファイルにリストデータを書き込むスクリプトを書いていきます。

■コード

data = ['テスト1','テスト2','テスト3']

with open('test.txt','w') as f:
    f.writelines((data))

dataというリストを用意し、with構文を使い、今回はテキストファイル(test.txt)に’w’(ファイルへの書き込み)モードでdataというリストを書き込みしてみます。今回はリストを書き込みますので、リストの書き込みを行う際にはfile.writelines()関数を使用します。

■実行

このスクリプトを「write_listdata.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、Pythonのカレントディレクトリ(作業ディレクトリ)内にテキストファイルが保存されます。このテキストファイルを開いてみると、リストのデータが書き込まれていることが確認できました。なお、改行はされていません。

■改行したい場合

改行したい場合は、下記のコードを参考にすると良いです。

■コード

data = ['テスト1','テスト2','テスト3']

with open('test.txt','w') as f:
    f.writelines([d+"\n" for d in data])

file.writelines()関数を使用しリストを書き込む際に、for文によるループ処理(繰り返し処理)を行い、リスト内のデータ1つ1つに”\n”(改行)追加していく処理を加えます。

スクリプトを変更し実行すると、改行が追加されて書き込まれていることが確認できました。

■file.write()関数を使用しリストデータを書き込む

次にfile.write()関数を使用しリストデータを書き込んでみます。

■コード

data = ['テスト1','テスト2','テスト3']

with open('test.txt','w') as f:
    for d in data:
        f.write(d+"\n")

リスト内のデータ1つ1つ、for文によるループ処理(繰り返し処理)で書き込んでいくのですが、file.write()関数を使用しリスト内のデータとプラスして”\n”(改行)も書き込んでいきます。

■実行

このスクリプトを「write_listdata2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、Pythonのカレントディレクトリ(作業ディレクトリ)内にテキストファイルが保存され、リストのデータが書き込まれていることが確認できました。なお、改行も追加されていることを確認できました。

コメント

タイトルとURLをコピーしました