Pythonでテキストファイルを1行ずつ読み取る
Python3で、テキストファイルを1行ずつ読み込んでみました。
目次
読み込むテキストファイル
1行ずつ読み込むには、いくつか方法があります。
今回は試しに下記のような内容のテキストファイルを、1行ずつ読み込んでみました。
1 いろは
2 にほへと
3 ちりぬるを
4 ちはやふる
5 神代も聞かず
6 竜田川
7 からくれなゐに
8 水くくるとは
9 おわり
listメソッドで読み込む
テキストファイルをopenで開いてlistメソッドで読み込むと、1行毎に分割したリストが帰ってきます。
>>> with open('pytest.txt', mode='rt', encoding='utf-8') as f:
... read_data = list(f)
...
>>> read_data
['1 いろは\n', '2 にほへと\n', '3 ちりぬるを\n', '4 ちはやふる\n', '5 神代も聞かず\n', '6 竜田川\n', '7 からくれなゐに\n', '8 水くくるとは\n', '9 おわり']
readlinesメソッドで読み込む
テキストファイルをopenで開いてreadlinesメソッドで読み込むと、1行毎に分割したリストが帰ってきます。
>>> with open('pytest.txt', mode='rt', encoding='utf-8') as f:
... read_data = f.readlines()
...
>>> read_data
['1 いろは\n', '2 にほへと\n', '3 ちりぬるを\n', '4 ちはやふる\n', '5 神代も聞かず\n', '6 竜田川\n', '7 からくれなゐに\n', '8 水くくるとは\n', '9 おわり']
readlinesメソッドの引数を指定することで、途中まで読み込むということができます。引数は、読み込んだ行のサイズです。
下記の例では、1行目が5文字ですのでreadlinesの引数に5を指定すると1行目まで、6を指定すると次の行まで読み込まれます。
>>> with open('pytest.txt', mode='rt', encoding='utf-8') as f:
... read_data = f.readlines(5)
>>> read_data
['1 いろは\n']
>>> with open('pytest.txt', mode='rt', encoding='utf-8') as f:
... read_data = f.readlines(6)
>>> read_data
['1 いろは\n', '2 にほへと\n']
ちょっと使い方が難しいですね。
forを使って読み込む
forを使って読み込んでみます。
こうすると、読み込む際に1行ずつ条件分岐できたりして、便利そうですね。
>>> with open('pytest.txt', mode='rt', encoding='utf-8') as f:
... for line in f:
... print(line)
1 いろは
2 にほへと
3 ちりぬるを
4 ちはやふる
5 神代も聞かず
6 竜田川
7 からくれなゐに
8 水くくるとは
9 おわり
公開日
広告