Pythonでテキストファイルを1行づつ読み込む方法を紹介します。
今回はテキストを読み込むので、sample.txtというファイルを用意します。
中身はなんでもよいのですが、私は以下の内容のファイルを準備しました。
後々、16進数⇒10進数の勉強もしたいと思っているので、16進数表記のファイルを用意しました。
time ID 1......8 9.....16
1 0x0002 01EE11DD 01EE11DD
1 0x000E 01AA11DD 01CC11DD
2 0x0002 01EE11DD 01EE11DD
3 0x0002 01EE11DD 01EE11DD
4 0x0002 01EE11DD 01EE11DD
4 0x000E 01AA11DD 01CC11DD
1行ごとにテキストファイルを読み込む方法
サンプルコードと実行結果は以下です。
import os
dir_path = r'C:\Users\ro_ky\Documents'
file_name = 'sample.txt'
file_path = os.path.join(dir_path, file_name)
with open(file_path) as f :
lines = f.readlines()
print(lines)
C:\Users\ro_ky\Documents>py file_read.py
['time ID 1......8 9.....16\n', '1 0x0002 01EE11DD 01EE11DD\n', '1 0x000E 01AA11DD 01CC11DD\n', '2 0x0002 01EE11DD 01EE11DD\n', '3 0x0002 01EE11DD 01EE11DD\n', '4 0x0002 01EE11DD 01EE11DD\n', '4 0x000E 01AA11DD 01CC11DD\n']
リストの中身を確認しよう
試しにリストの中身を確認してみます。
print(lines)を#でコメントアウトしてlinesの2配列目に何が入っているか確認してみます。
コードと出力結果は以下です。
import os
dir_path = r'C:\Users\ro_ky\Documents'
file_name = 'sample.txt'
file_path = os.path.join(dir_path, file_name)
with open(file_path) as f :
lines = f.readlines()
#print(lines)
print(lines[1])
C:\Users\ro_ky\Documents>py file_read.py
1 0x0002 01EE11DD 01EE11DD
2番目の配列には2行目のデータが入っていることが分かりました。
コメント