코드 조각을 사용하여 다음 데이터와 함께 다음 오류가 발생합니다. 이걸 좀 도와 주실 래요? 저는 파이썬에서 초보자입니다. 데이터 :파이썬에서 csv 파일 읽기
"Id","Title","Body","Tags"
"Id1","Tit,le1","Body1","Ta,gs1"
"Id","Title","Body","Ta,2gs"
코드 :
#!/usr/bin/python
import csv,sys
if len(sys.argv) <> 3:
print >>sys.stderr, 'Wrong number of arguments. This tool will print first n records from a comma separated CSV file.'
print >>sys.stderr, 'Usage:'
print >>sys.stderr, ' python', sys.argv[0], '<file> <number-of-lines>'
sys.exit(1)
fileName = sys.argv[1]
n = int(sys.argv[2])
i = 0
out = csv.writer(sys.stdout, delimiter=',', quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
ret = []
def read_csv(file_path, has_header = True):
with open(file_path) as f:
if has_header: f.readline()
data = []
for line in f:
line = line.strip().split("\",\"")
data.append([x for x in line])
return data
ret = read_csv(fileName)
target = []
train = []
target = [x[2] for x in ret]
train = [x[1] for x in ret]
오류 :
target = [x[2] for x in ret]
IndexError: list index out of range
생성 된 파일이 두 줄 이상이없는? –
죄송합니다. 데이터 오류. 나는 지금 질문을 편집했다. 고마워요 @PauloBu – novieq
[x in line]에 대한 [x]의 요점은 무엇입니까? –