나는 다음과 같은 파일 및 코드를 가지고 있지만, 동일한 방법으로 두 번째 코드 단편과 동일한 방법으로 오류가 발생합니다.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])
,451,515,
파일 내용 : (파일에 쓰는 동안 기록의 추가 라인이 생성 된 것으로 나타납니다)
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])
, 나는 기뻐할 것입니다 경우 :
파일에서 읽는 코드에서 오류의 솔루션/수정
또한, 추가하거나 재 작성하는 가장 좋은 방법은 무엇입니까 (어떻게 가장 효과적으로 새로운 라인 문자를 제거하기 위해) 내 ' 쓰기 '코드를 사용하여 첫 번째 장소에서 파일 내용을 더 효율적으로 만들 수 있습니다 (각 레코드 사이에 줄 바꿈이없는 첫 번째 내용과 같음). 하지만, 나는 빈 줄을 만들 것입니다 코드를 작성에서 아무것도 표시되지 않습니다
for row in reader: if len(row) > 0: print(row[0])
: 사전에
덕분에
독자 코드에서 newline = ""을 제거하고 newline = None을 시도했지만 어느 것도 작동하지 않았습니다 – MissComputing
빈 줄이 어떻게 생성되는지 볼 수 없습니다. 아니, 불행하게도 나는 단지 같은 운영체제를 사용하고있다. – MissComputing
'totalscore'가 개행으로 끝날 수 있습니까? – Barmar