Menguruskan Pengembalian Pengangkutan Tidak Dijangka dalam Fail CSV dalam Python pada Windows
Isu pelik boleh timbul apabila menjana fail CSV dalam Python: pemulangan pengangkutan tambahan (r) muncul pada penghujung setiap baris pada sistem Windows. Ini berbeza daripada gelagat yang dijangkakan, di mana setiap baris ditamatkan dengan satu aksara pemulangan (r) atau baris baharu (n), bergantung pada sistem pengendalian.
Mengapa Ini Berlaku
Pada Windows, tingkah laku lalai Python untuk mengendalikan fail CSV ialah mentafsir pemisah baris sebagai baris baharu universal (n), yang berbeza daripada baris Unix standard pemisah (rn). Akibatnya, penulis CSV menambahkan pemulangan dua gerabak (rr) apabila menulis pada fail, menyebabkan baris kosong tambahan muncul.
Membetulkan Isu
Untuk menyelesaikan isu ini, anda boleh melumpuhkan terjemahan baris baharu universal dengan menyatakan newline='' apabila membuka fail.
Python 3:
with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f)
Python 2:
Untuk Python 2, disyorkan untuk membuka fail dalam mod binari ('rb' atau 'wb') sebelum menyerahkannya kepada penulis CSV. Ini kerana CSV dianggap sebagai format binari dengan pemisah baris disimpan sebagai bait mentah.
with open('output.csv', 'wb') as f: writer = csv.writer(f)
Dengan mengikut pengesyoran ini, anda boleh menghalang pemulangan pengangkutan tambahan daripada ditambahkan pada fail CSV, memastikan ia mematuhi kepada konvensyen pemisahan baris yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Pulangan Pengangkutan Tidak Dijangka dalam Fail CSV Python pada Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!