首頁 >後端開發 >Python教學 >為什麼我的 Python CSV 檔案在 Windows 上添加額外的回車符?

為什麼我的 Python CSV 檔案在 Windows 上添加額外的回車符?

Linda Hamilton
Linda Hamilton原創
2024-11-27 21:54:11491瀏覽

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

疑難排解:Python 中的CSV 檔案在Windows 上附加額外的回車符

在Windows 系統上用Python 寫CSV 檔案時,出現意外問題,其中附加了一個回車符字元出現在檔案中每行的末尾。這種與預期 rn 行終止的偏差引起了關注,讓開發人員想知道根本原因以及這是否是預期行為。

為了深入研究此問題的根源,讓我們分析提供的程式碼片段:

此程式碼旨在產生一個名為test.csv 的CSV 文件,其中包含兩行數據:['hi', 'dude'] 和['hi2', '老兄2']。然而,在檢查產生的檔案時,我們發現每一行都帶有一個額外的 r 字元後綴。

為了理解這種行為,我們轉向 csv 模組的 Python 文件。根據文檔,建議在所有平台上開啟帶有 newline='' 的文件以停用通用換行符翻譯。

對於 Python 3:

默認,在 Windows 上,csv 模組使用通用換行符轉換,在寫入檔案時將 rn 行終止符轉換為 n。為了防止這種翻譯並保持原始的rn 行終止符,需要使用newline='' 開啟文件,如下所示:

對於Python 2:

在Windows for Python 2 上,在將檔案傳遞給任何一個之前,使用「rb」或「wb」以二進位模式開啟檔案至關重要csv.reader 或csv.writer。儘管該文件是文字文件,但 CSV 被相關庫視為二進位格式,並以 rn 分隔記錄。在文字模式下寫入此分隔符號會提示 Python 執行時間將 n 替換為 rn,從而在檔案中產生觀察到的 rrn 序列。有關這方面的更多詳細信息,請參閱之前的答案。

以上是為什麼我的 Python CSV 檔案在 Windows 上添加額外的回車符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn