Python でテキストファイルをリストに読み込む

Muhammad Waiz Khan 2023年10月10日
  1. open() 関数が返すファイルオブジェクト上で read().split() を使用する Python でテキストファイルをリストに読み込む
  2. Python で NumPy ライブラリの loadtxt 関数を用いてテキストファイルをリストに読み込む
  3. csv.reader() 関数を用いた Python でテキストファイルをリストに読み込む
Python でテキストファイルをリストに読み込む

このチュートリアルでは、テキストファイルを Python リストにロードしたり、読み込んだりするための複数のメソッドを見ていきます。open() 関数が返すファイルオブジェクトに対する read().split() 関数、NumPy ライブラリの loadtxt 関数、そして csv.reader 関数を使ってテキストファイルを読み込み、リスト内の別の要素に分割します。

open() 関数が返すファイルオブジェクト上で read().split() を使用する Python でテキストファイルをリストに読み込む

以下のコード例では、まず open を用いてテキストファイルを読み込んだ後、, を区切り文字として read().split() 関数を用いて配列に分割する方法を示しています。

例えば、テキストファイル file.txt の内容が以下のようになっているとします。

1,2,321,355,313

コード:

with open("file.txt", "r") as tf:
    lines = tf.read().split(",")

for line in lines:
    print(line)

出力:

1
2
321
355
313

split() 関数の引数(例では ,)は、テキストファイルの区切り文字を指定します。

Python で NumPy ライブラリの loadtxt 関数を用いてテキストファイルをリストに読み込む

以下のコード例は、NumPy ライブラリの loadtxt 関数を用いて delimiter パラメータを用いてテキストファイルをロードして配列に分割する方法を示しています。

from numpy import loadtxt

lines = loadtxt("file.txt", delimiter=",")
for line in lines:
    print(line)

出力:

1.0
2.0
321.0
355.0
313.0

csv.reader() 関数を用いた Python でテキストファイルをリストに読み込む

csv モジュールは通常、CSV ファイルを処理するために用いられるが、テキストファイルを処理するためにも用いることができます。

csv モジュールの reader 関数は与えられたファイルを読み込んで _csv.reader オブジェクトを返します。この _csv.reader オブジェクトをリストに変換するには、list() 関数を利用します。

ファイルが 1 行しかない場合でも、変換後のリストは 2 次元配列であることに注意してください。

import csv

with open("file.txt") as f:
    line = csv.reader(f, delimiter=",")

print(list(line)[0])

出力:

['1', '2', '321', '355', '313']

関連記事 - Python List

関連記事 - Python File