Pandas のテキストファイルからデータをロードする方法
-
テキストファイルからデータを読み込む
read_csv()
メソッド -
read_fwf()
メソッドを使用してwidth formated
テキストファイルを PandasDataFrame
に読み込む -
テキストファイルを Pandas の
DataFrame
に読み込むのread_table()
メソッド
Pandas DataFrame
で txt
ファイルからデータを読み込む方法を紹介します。利用可能なオプションについても説明します。
まず、sample.txt
というシンプルなテキストファイルを作成し、次の行をファイルに追加します。
45 apple orange banana mango
12 orange kiwi onion tomato
Python スクリプトを実行するのと同じディレクトリに保存する必要があります。
テキストファイルからデータを読み込む read_csv()
メソッド
read_csv()
は、text
ファイルを Pandas DataFrame
に変換するための最良の方法です。上記で作成したファイルには header
がないため、header=None
を設定する必要があります。空の値を NaN
に置き換える場合は、メソッド内に keep_default_na=False
を設定することもできます。
コード例:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)
出力:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
値は単一の空白で区切られているため、sep=" "
を設定します。同様に、カンマ区切りファイルからデータを読み取る場合は、sep=","
を設定できます。sample.txt
内の空白を ,
に置き換え、次に sep=" "
を sep=","
に置き換えてからコードを実行します。
Sample.txt
45,apple,orange,banana,mango
12,orange,kiwi,,tomato
コード:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=",", header=None)
print(df)
出力:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi NaN tomato
read_fwf()
メソッドを使用して width formated
テキストファイルを Pandas DataFrame
に読み込む
read_fwf()
は、幅でフォーマットされたテキストファイルがある場合に非常に役立ちます。値が異なると区切り文字が異なる場合があるため、sep
は使用できません。次のテキストファイルを考えてみます。
Sample.txt
45 apple orange banana mango
12 orange kiwi onion tomato
Sample.text
では、delimiter
はすべての値で同じではありません。したがって、read_fwf()
はここで機能をします。
コード:
# python 3.x
import pandas as pd
df = pd.read_fwf("sample.txt", header=None)
print(df)
出力:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
テキストファイルを Pandas の DataFrame
に読み込むの read_table()
メソッド
read_table()
は、text
ファイルから Pandas の DataFrame
にデータを load
するもう 1つの方法です。
Sample.txt:
45 apple orange banana mango
12 orange kiwi onion tomato
コード:
# python 3.x
import pandas as pd
df = pd.read_table("sample.txt", header=None, sep=" ")
print(df)
出力:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato