ホームページ > バックエンド開発 > Python チュートリアル > Windows で Python CSV ライターが余分な改行を追加するのはなぜですか?

Windows で Python CSV ライターが余分な改行を追加するのはなぜですか?

Linda Hamilton
リリース: 2024-12-07 02:14:11
オリジナル
329 人が閲覧しました

Why Does My Python CSV Writer Add Extra Carriage Returns on Windows?

Python の

CSV で Windows に余分な復帰が追加される

提供されたコード スニペットは、予期しない余分な復帰を含む CSV ファイルを生成します(r) 各行に。目的の出力の代わりに:

hi,dude
hi2,dude2
ログイン後にコピー

ファイルは次のようになります:

hi,dude\r
\r
hi2,dude2\r
\r
ログイン後にコピー

この動作は、プラットフォーム固有の行終了処理が原因で発生します。

公式 CSV ドキュメントでは、次の使用を推奨しています。ファイルを開くときに newline='' を使用してユニバーサル改行変換を無効にします:

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    # ...
ログイン後にコピー

デフォルトでは、CSV ライターは RFC 4180 に従って各行を 'rn' で終了します。

Python 2

Windows では、ファイルはバイナリで開く必要がありますcsv.reader または csv.writer に渡す前にモード (「rb」または「wb」) に設定してください。 CSV はテキスト形式ですが、関連するライブラリではバイナリとみなされ、レコードは「rn」で区切られます。テキスト モードで記述すると、Python ランタイムは 'n' を 'rn' に置き換えます。その結果、余分なキャリッジ リターンが発生します。

以上がWindows で Python CSV ライターが余分な改行を追加するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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