문제:
Python에서 CSV 파일을 처리 중입니다. , 그러나 첫 번째 행(헤더 행)은 제외되지 않고 수정됩니다.
질문 코드:
<code class="python">in_file = open("tmob_notcleaned.csv", "rb") reader = csv.reader(in_file) out_file = open("tmob_cleaned.csv", "wb") writer = csv.writer(out_file) row = 1 for row in reader: # Row processing logic in_file.close() out_file.close()</code>
문제:
'row' 변수를 1로 초기화해도 헤더 행이 처리되는 것을 방지할 수 없습니다.
해결책:
헤더 행을 건너뛰려면 다음을 사용하세요. next() 함수는 리더를 한 항목씩 반복할 수 있도록 진행합니다. 이 경우 next()의 반환 값은 무시할 수 있습니다.
수정 코드:
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file: reader = csv.reader(in_file) next(reader, None) # Skip the header row writer = csv.writer(out_file) for row in reader: # Row processing logic</code>
대체 옵션:
출력 파일에 헤더 행이 필요한 경우 루프 이전에writer.writerow()에 전달할 수 있습니다.
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file: reader = csv.reader(in_file) headers = next(reader, None) # Returns the header row or None if the input is empty if headers: writer.writerow(headers) for row in reader: # Row processing logic</code>
위 내용은 내 Python 코드가 CSV 파일의 헤더 행을 건너뛰는 대신 처리하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!