0
我有以下文件和代碼工作絕對正常,但(見下文)使用相同的方法,第二個代碼段與給定的文件,引發錯誤。閱讀csv文件列中的異常
工作代碼
def test():
with open('test.txt','r') as f:
reader=csv.reader(f)
for row in reader:
print(row[0]) #this is column 1
answer=input("Answer?>>")
if answer==row[1]: #this is column 2
print("Yes")
else:
print("No")
文件內容
a,1
b,2
c,3
正確的工作輸出
>>> test()
a
Answer?>>1
Yes
b
Answer?>>2
Yes
c
Answer?>>
但是,下面的代碼無法正常工作:
def round():
print("===Summary===")
with open('eventinfo.txt','r',newline="") as f:
reader=csv.reader(f)
for row in reader:
print(row[0])
條
文件的內容:(記錄之間的額外的行似乎已被創建,同時寫入文件)
1,Techhamper,9,9,9,9,9,27
1,Moosecream,8,8,8,8,8,24
1,BizTech,6,6,6,6,6,18
1,Pigacheepot,1,1,1,1,1,3
2,Techhamper,1,1,1,1,1,3
2,Moosecream,2,2,2,2,2,6
錯誤:
print(row[0])
IndexError: list index out of range
寫到該文件中的代碼如下:
with open("eventinfo.txt","a") as fo:
writer=csv.writer(fo)
writer.writerow([round,inventor,i1,i2,i3,i4,i5,totalscore])
一個答案,我會很高興,如果:
在從文件中讀取代碼中的錯誤的解決方案/修復(如何最有效地剝離換行符)
此外,什麼是添加或改寫的最佳方式我'編寫'代碼,以更高效地創建文件內容(像第一個沒有每條記錄之間的換行符的文件)。
在此先感謝
我刪除了閱讀器代碼中的newline =「」,並嘗試換行=無,但都沒有工作 – MissComputing
我看不到空行如何被創建......任何人?不,不幸的是,我只是使用相同的操作系統 – MissComputing
是否有可能「totalscore」以換行符結束? – Barmar