Windows 上の Python での CSV ファイルの予期しない復帰に対処する
Python で CSV ファイルを生成するときに、特有の問題が発生する可能性があります。 Windows システムでは、余分なキャリッジ リターン (r) が各行の末尾に表示されます。これは、オペレーティング システムに応じて、各行が 1 つのキャリッジ リターン (r) または改行 (n) 文字で終了するという予期された動作とは異なります。
これが起こる理由
Windows では、CSV ファイルを処理するための Python のデフォルト動作は、行区切り文字をユニバーサル改行 (n) として解釈することです。これは、標準の Unix 行とは異なります。区切り文字 (rn)。その結果、CSV ライターはファイルに書き込むときに 2 つのキャリッジ リターン (rr) を追加し、追加の空白行が表示されます。
問題の修正
この問題を解決するには、ファイルを開くときに newline='' を指定して、ユニバーサル改行変換を無効にします。 file.
Python 3:
with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f)
Python 2:
Python 2 の場合、開くことをお勧めします。 CSV ライターに渡す前に、ファイルをバイナリ モード (「rb」または「wb」) にしてください。これは、CSV が生のバイトとして保存された行区切り文字を含むバイナリ形式であるとみなされるためです。
with open('output.csv', 'wb') as f: writer = csv.writer(f)
これらの推奨事項に従うことで、CSV ファイルに余分な改行が追加されるのを防ぎ、CSV ファイルの内容を確実に遵守することができます。目的の行分離規則に合わせます。
以上がWindows 上の Python CSV ファイルで予期しない復帰を排除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。