首頁 >後端開發 >Python教學 >為什麼我的 Python 產生的 CSV 檔案的行之間有空行?

為什麼我的 Python 產生的 CSV 檔案的行之間有空行?

Patricia Arquette
Patricia Arquette原創
2024-12-14 15:14:11481瀏覽

Why Do My Python-Generated CSV Files Have Blank Lines Between Rows?

Python 產生的CSV 檔案行間有空行

使用Python 的csv 模組編寫CSV 檔案並遇到額外的空白行時,就會出現此問題在Microsoft中開啟結果檔案時,每筆記錄之間Excel.

原因:

csv.writer 模組直接控制行結尾並將「rn」插入檔案中。在Python 3 中,應使用參數“w”、newline='' 以未翻譯文字模式開啟文件,以防止在Windows 上寫入“rrn”,其中預設文字模式將每個“n”翻譯為“rn” 。

解:

Python 3:

with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
    writer = csv.writer(outfile)

帶路徑庫的 Python 3:

from pathlib import Path
import csv

with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)

Python 2:

開啟二元模式下的 outfile 用 'wb'而不是'w':

with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile:
    writer = csv.writer(outfile)

注意:

  • 在 Python 2 中,將 Unicode 字串寫入 CSV 需要額外的解決方法。
  • unicodecsv 模組提供了在 Python 2 中處理 Unicode 的替代方案。
  • 有關文檔,請參閱答案中提供的連結。

以上是為什麼我的 Python 產生的 CSV 檔案的行之間有空行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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