0
파일 이름, 열 번호를 사용하는 함수를 작성하고 싶습니다. 이것은 csv 파일에서 읽고 지정된 열의 값을 목록에 반환합니다. 빈 자리를 0으로 대체하고 헤더가 있으면 건너 뛸 필요가 있습니다. 나는 그것이 도움이되도록 약간의 도움이 필요하다. 감사합니다열로 csv 파일을 구문 분석하고 목록에 저장하십시오.
파일 이름, 열 번호를 사용하는 함수를 작성하고 싶습니다. 이것은 csv 파일에서 읽고 지정된 열의 값을 목록에 반환합니다. 빈 자리를 0으로 대체하고 헤더가 있으면 건너 뛸 필요가 있습니다. 나는 그것이 도움이되도록 약간의 도움이 필요하다. 감사합니다열로 csv 파일을 구문 분석하고 목록에 저장하십시오.
이것은
열은 0부터 번호가 매겨집니다import csv
def get_column(filename, n, header=True):
with open(filename, 'r') as csvfile:
rdr = csv.reader(csvfile)
# skip one row if header is True
if header:
next(rdr, None)
# take only the rows where the field exists
l = [ row[n] for row in rdr if len(row) > n]
return l
, 즉 get_column("mycsv.csv", 0)
위의 코드는 단지 더 열 n
이없는 모든 행을 무시 열 1.
의 내용을 반환해야 . 당신이 기본이 insted을 작성하려면, 다음으로 지능형리스트를 대체 :
l = [ row[n] if len(row) > n else None for row in rdr ]
은 물론, 당신은 당신이 필요로하는 무엇에 None
을 chenge 수 있습니다.
가장 안전한 옵션은 사용하는 것입니다 : 필드 행에 누락 된 경우
l = [ row[n] for row in rdr ]
것은 그것이 예외가 발생합니다 때문이다.
파이썬에는이를위한'csv' 모듈이 있습니다. 그것 좀 봐! – DrV