問題:
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() 関数は、反復可能なリーダーを 1 項目ずつ進めます。この場合、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 中国語 Web サイトの他の関連記事を参照してください。