Theo mặc định, its documentation csv.writer nên sử dụng '\ r \ n' làm trình theo dõi.Nhà văn Python 2 CSV tạo dòng kết thúc sai trên Windows
import csv
with open("test.csv", "w") as f:
writer = csv.writer(f)
rows = [(0,1,2,3,4),
(-0,-1,-2,-3,-4),
("a","b","c","d","e"),
("A","B","C","D","E")]
print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")
writer.writerows(rows)
print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")
này in
\r\n
\r\n
như mong đợi. Tuy nhiên, tạo ra csv file sử dụng lineterminator '\ r \ r \ n'
0,1,2,3,4
0,-1,-2,-3,-4
a,b,c,d,e
A,B,C,D,E
Đây có phải là một lỗi hoặc là có cái gì sai trong việc sử dụng của tôi csv.writer?
Python phiên bản:
ActivePython 2.6.2.2 (ActiveState Software Inc) dựa trên Python 2.6.2 (r262: 71600, ngày 21 tháng 4 năm 2009, 15:05:37) [MSC v 0,1500 32 bit (Intel)] trên win32
trên Windows Vista
Tôi không thể tạo lại vấn đề của bạn: $ test.csv test.csv: văn bản ASCII, với các ký tự dòng CRLF –
@lutz: $ prompt có nghĩa là * x có nghĩa là không có sự khác biệt (trong Python 2.x) giữa văn bản chế độ và chế độ nhị phân; OP đang chạy Windows. –
@wierob: mất .replace (...). Thay thế (...), sử dụng repr được tích hợp sẵn() –