ホームページ > バックエンド開発 > Python チュートリアル > Windows 上の Python CSV ファイルで予期しない復帰を排除するにはどうすればよいですか?

Windows 上の Python CSV ファイルで予期しない復帰を排除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-27 22:11:17
オリジナル
226 人が閲覧しました

How to Eliminate Unexpected Carriage Returns in Python CSV Files on Windows?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート