前提・実現したいこと
リストにテキストデータの内容を読み込ませたいのですが、ファイルの途中までしか読み込まれません。エラーメッセージも出ず、その後に書いたプログラムの処理は続行されています。
発生している問題・エラーメッセージ
下記のコードのようにprint(len(data))で読み込んだ行数を確認すると、約22,000行のうち一部しか読み込まれておらず、止まる位置は試行ごとにランダム(2,000-20,000行のどこか)です。
該当のソースコード
python
1with open(Filename[0]) as fileobj: 2 data=fileobj.readlines() 3 print(len(data))
試したこと
fileobj = open(Filename[0], 'r') #DATファイル読み込み
data=fileobj.readlines()
fileobj.close()
というwithを使わない方式、
encoding='UTF-8'
など、エンコーディングの指定も試しましたが結果は同様です。
while True:
line = fileobj.readline()
if line:
data.append(line)
row_no += 1
print(row_no)
else:
fileobj.close
break
のように一行ずつ読み込み、print(row_no)で行数を表示し続けると読み込めますが、時間がかかりすぎます。また、一行ずつ読む場合でも print(row_no) を外すとやはり途中までしか読まれません。
補足情報(FW/ツールのバージョンなど)
Python 3.9.2-64bit, Windows10 上で実行
回答1件
あなたの回答
tips
プレビュー