在Python 3中使用带有多个换行符的csv文件

时间:2018-01-19 15:58:59

标签: python python-3.x csv newline

我正在尝试导入一个csv文件,其中#为分隔符,\r\n为换行符。在一列内部,数据中也有换行符,但\n

我能够在没有问题的情况下一行接一行地阅读但是使用csv lib(Python 3)我已经卡住了。
下面的例子抛出一个

Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode? 

是否可以将csv lib与多个换行符一起使用?

谢谢!

import csv

with open('../database.csv', newline='\r\n') as csvfile:
    file = csv.reader(csvfile, delimiter='#', quotechar='"')    
    for row in file:
        print(row[3])

database.csv:

2202187#"645cc14115dbfcc4defb916280e8b3a1"#"cd2d3e434fb587db2e5c2134740b8192"#"{  
    Age = 22;  
    Salary = 242;  
}

1 个答案:

答案 0 :(得分:0)

请尝试此代码。根据{{​​3}},使用newline=None'\r\n'等公共行结尾替换为'\n'

import csv

with open('../database.csv', newline=None) as csvfile:
    file = csv.reader(csvfile, delimiter='#', quotechar='"')    
    for row in file:
        print(row[3])

我已将newline='\r\n'替换为newline=None。 您也可以使用'rU'修饰符,但不推荐使用。

...
with open('../database.csv', 'rU') as csvfile:
...