Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Fail CSV Dijana Python Saya Mempunyai Garis Kosong Antara Baris?

Mengapa Fail CSV Dijana Python Saya Mempunyai Garis Kosong Antara Baris?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 15:14:11481semak imbas

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

Fail CSV Dijana oleh Python Mempunyai Garis Kosong Antara Baris

Soalan ini timbul apabila menulis fail CSV menggunakan modul csv Python dan menghadapi baris kosong tambahan antara setiap rekod apabila membuka fail yang terhasil dalam Microsoft Excel.

Punca:

Modul csv.writer mengawal terus penghujung baris dan memasukkan "rn" ke dalam fail. Dalam Python 3, fail hendaklah dibuka dalam mod teks yang tidak diterjemahkan dengan parameter 'w', newline='', untuk mengelakkan penulisan "rrn" pada Windows, di mana mod teks lalai menterjemah setiap "n" kepada "rn."

Penyelesaian:

Python 3:

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

Python 3 dengan pathlib:

from pathlib import Path
import csv

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

Python 2:

Buka outfile dalam mod binari dengan 'wb' bukannya 'w':

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

Nota:

  • Dalam Python 2, menulis rentetan Unicode pada CSV memerlukan penyelesaian tambahan.
  • The modul unicodecsv menyediakan alternatif untuk mengendalikan Unicode dalam Python 2.
  • Untuk dokumentasi, rujuk pautan yang disediakan dalam jawapan.

Atas ialah kandungan terperinci Mengapa Fail CSV Dijana Python Saya Mempunyai Garis Kosong Antara Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn