repl.itにはコードの実行に不一致があります(これはうまくいきますが、Pythonのバグが修正/更新されたため)、IDLEではコードが動作しません正しく各行の後に追加のリストが追加されました
ドキュメントを参照し、以前のスタックオーバーフローの回答で「改行」を追加しましたが、問題は解決しません。
あなたはここで、REPLそれに気付くでしょう。(作品完璧)
しかし、IDLE中(改行なし)ファイルの内容を貼り付けるにはそれが正常に動作し
001,Joe,Bloggs,Test1:99,Test2:100,Test3:1002,Ash,Smith,Test1:20,Test2:20,Test3:100003003,Jonathan,Peter,Test1:99,Test2:33,Test3:44
ただし、(新しい行の各レコードで)次のようにファイルの内容をtxtファイルに貼り付けます。
001,Joe,Bloggs,Test1:99,Test2:100,Test3:1
002,Ash,Smith,Test1:20,Test2:20,Test3:100003
003,Jonathan,Peter,Test1:99,Test2:33,Test3:44
出力上のエラー、次のように(各行の後に新しいリストを作成)されます。コードはここにある
[['001', 'Joe', 'Bloggs', 'Test1:99', 'Test2:100', 'Test3:1'], [], ['002', 'Ash', 'Smith', 'Test1:20', 'Test2:20', 'Test3:100'], ['003'], ['', 'Jonathan', 'Peter', 'Test1:99', 'Test2:33', 'Test3:44']]
:
import csv
#==========1. Open the File, Read it into a list, and Print Contents
print("1==============Open File, Read into List, Print Contents")
#open the file, read it into a list (each line is a list within a list, and the end of line spaces are stripped as well as the individual elements split at the comma)
with open("studentinfo.txt","rb",newline="") as f:
studentlist=list(csv.reader(f))
print(studentlist)
私が試してみました、としてドキュメント、およびstackoverflowの以前の答えは、を追加します:(改行)
with open("studentinfo.txt","r",newline="") as f:
残念ながらエラーが続く。
説明付きの提案や解決策があれば幸いです。
更新は、私もこの試みた:それはreplit
で完璧に動作しますが、再び
with open("studentinfo.txt",newline="") as f:
reader=csv.reader(f)
for row in reader:
print(row)
をIDLE
1==============Open File, Read into List, Print Contents
['001', 'Joe', 'Bloggs', 'Test1:99', 'Test2:100', 'Test3:1']
[]
['002', 'Ash', 'Smith', 'Test1:20', 'Test2:20', 'Test3:100']
['003']
['', 'Jonathan', 'Peter', 'Test1:99', 'Test2:33', 'Test3:44']
>>>
01でこのエラー これは、repl.itとIDLEの両者で、学校と家庭環境の間で作業していることが一貫している必要がある学生にとって大きな問題です。
両方で動作するようにするコードを示す回答は、私が後にしているものです。フィルタを使用して
あなたは、実際のバイト数を表示する必要が – MissComputing
誰?誰?私は 'csv'モジュールによって解析されたCSV形式はCRLFを必要とすると信じていますプラットフォームにかかわらず、行の終わり。 –
あなたは解決策を投稿してください - 私はそれが何を意味するか分かりません。ありがとう –