相关疑难解决方法(0)

Python 2 CSV编写器在Windows上生成错误的行终止符

根据其文档,csv.writer默认情况下应使用'\ r \n'作为lineterminator.

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")
Run Code Online (Sandbox Code Playgroud)

这打印

\r\n
\r\n
Run Code Online (Sandbox Code Playgroud)

正如所料.但是,创建的csv文件使用了行终止符'\ r \n\r \n'

0,1,2,3,4

0,-1,-2,-3,-4

a,b,c,d,e

A,B,C,D,E
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我使用csv.writer时出了什么问题?

Python版本:

在Win32上基于Python 2.6.2(r262:71600,2009年4月21日,15:05:37)[MSC v.1500 32位(英特尔)]的ActivePython 2.6.2.2(ActiveState Software Inc.)

在Windows Vista上

python windows csv line-endings python-2.x

43
推荐指数
3
解决办法
3万
查看次数

标签 统计

csv ×1

line-endings ×1

python ×1

python-2.x ×1

windows ×1