首頁 >後端開發 >Python教學 >如何防止Python編寫的CSV檔案中出現空白行?

如何防止Python編寫的CSV檔案中出現空白行?

Linda Hamilton
Linda Hamilton原創
2024-12-31 10:48:10372瀏覽

How to Prevent Blank Lines in CSV Files Written with Python?

用Python 寫的CSV 檔案:解行之間的空白行

問題源自於Python 的csv.writer 模組處理行結尾的方式。當在翻譯文字模式(預設)下操作時,它會為每行將回車符 (r) 和換行符 (n) 寫入檔案中。在 Windows 上的 Microsoft Excel 中查看時,這可能會導致額外的空白行。

解決方案:

為了防止這些空行,以未翻譯的格式開啟輸出檔案至關重要文字模式。在 Python 3 中,使用下列語法:

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

將空字串 ('') 作為換行符參數的值可確保不新增行終止符,從而解決空白行問題。

附加說明:

  • 如果使用Path 模組,您可以編寫以未翻譯文字模式寫入文件,如下所示:
from pathlib import Path

with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)
  • 對於記憶體中字串輸出,請使用StringIO:
from io import StringIO

s = StringIO()
writer = csv.writer(s)
writer.writerow([1,2,3])

請注意產生的字串仍將包含 Windows 行終止符 rn。為了避免這種情況,請在將字串寫入檔案時使用 newline='' 參數。

  • 在 Python 2 中,以二進位模式('wb')而非文字模式(' w')。這將阻止行終止翻譯。

以上是如何防止Python編寫的CSV檔案中出現空白行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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