Pythonでテキストファイルを読み込む
テキストファイルをPythonで読み込んでみます。
目次
読み込むテキストファイル
読み込むテキストはこれです。エンコードはUTF-8Nで、改行コードはLFです。
いろはにほへと ちりぬるを
わかよたれそ つねならむ
うゐのおくやま けふこえて
あさきゆめみし ゑひもせす
openメソッドでファイルを開く
ファイルを開くのにはopenメソッドを使います。openしたらcloseが必要ですが、withを使うことで閉じ忘れを防止します。
with open(filename, mode, buffering, encording, errors, newline, closefd, opener) as f:
#読み取り処理
変数 |
内容 |
---|---|
filename |
ファイル名 |
mode |
ファイルを開くモード。rは読み込み。tはテキスト。bはバイナリ。 |
buffering |
バッファの仕方 |
encoding |
テキストモードでのエンコード |
errors |
テキストモードでデコードしたときの処理方法 |
newline |
テキストモードで読み込んだときの改行コードの変換方法 |
closefd |
|
opener |
|
f |
ファイルオブジェクト |
readメソッド
ファイルオブジェクトのreadメソッドでファイルを読み込んでみます。
r = f.read(size)
変数 |
内容 |
---|---|
f |
ファイルオブジェクト |
size |
省略可。読み込む文字数かバイト数。 |
r |
ファイルオブジェクトがテキストモードの場合は文字列、バイナリモードの場合はbytesオブジェクト |
試してみました。
with open('test.txt', mode='rt', encoding='utf-8') as f:
read_text = f.read()
print(read_text)
出力はこうなります。
いろはにほへと ちりぬるを
わかよたれそ つねならむ
うゐのおくやま けふこえて
あさきゆめみし ゑひもせす
読み込むサイズを指定してみました。
with open('test.txt', mode='rt', encoding='utf-8') as f:
read_text = f.read(15)
print(read_text)
出力はこうなります。
いろはにほへと ちりぬるを
わ
readlineメソッド
ファイルから1行読み込みます。空行の場合の戻り値は改行コードのみの文字列になります。ファイルの終端に達すると空の文字列が返ります。
t = f.readline()
変数 |
内容 |
---|---|
f |
ファイルオブジェクト |
t |
文字列 |
試してみました。
read_text = []
with open('test.txt', mode='rt', encoding='utf-8') as f:
read_text.append(f.readline())
read_text.append(f.readline())
print(read_text)
出力はこうなります。
['いろはにほへと ちりぬるを\n', 'わかよたれそ つねならむ\n']
readlinesメソッド
ファイルを末端まで1行ずつ読み込みます。
t = f.readlines()
変数 |
内容 |
---|---|
f |
ファイルオブジェクト |
t |
文字列のリスト |
試してみました。
with open('test.txt', mode='rt', encoding='utf-8') as f:
read_text = f.readlines()
print(read_text)
出力はこうなります。
['いろはにほへと ちりぬるを\n', 'わかよたれそ つねならむ\n', 'うゐのおくやま けふこえて\n', 'あさきゆめみし ゑひもせす\n']
listメソッドで読み込む
ファイルオブジェクトをリストメソッドの引数にすることで、リストとして読み込みます。
L = list(f)
変数 |
内容 |
---|---|
f |
ファイルオブジェクト |
L |
文字列のリスト |
試してみました。
with open('test.txt', mode='rt', encoding='utf-8') as f:
read_text = list(f)
print(read_text)
出力はこうなります。
['いろはにほへと ちりぬるを\n', 'わかよたれそ つねならむ\n', 'うゐのおくやま けふこえて\n', 'あさきゆめみし ゑひもせす\n']
forループで読み込む
forループを使ってファイルオブジェクトから読み込みます。
試してみました。
read_text = []
with open('test.txt', mode='rt', encoding='utf-8') as f:
for line in f:
read_text.append(line)
print(read_text)
出力はこうなります。
['いろはにほへと ちりぬるを\n', 'わかよたれそ つねならむ\n', 'うゐのおくやま けふこえて\n', 'あさきゆめみし ゑひもせす\n']
公開日
広告