1

我怎样才能调用f.readline()线分隔符在\r\n哪里?

这个 CSV 文件非常大,所以我不能这样做f.read().split('\r\n')

相反,我希望f.readline('\r\n').

这是一个典型的行:

1, "ABC", "the quick \n brown fox \n jumps over the \n lazy dogs", 5 \r\n
4

3 回答 3

3

看来您实际上是在尝试读取 CSV 文件(或类似文件),其中嵌入在引号中的换行符需要被忽略。

这是csv模块已经为您处理的事情。

import csv
with open("myfile", "rb") as infile:
    reader = csv.reader(infile, delimiter=",", skipinitialspaces=True)
    for line in reader:
       print line
于 2013-09-19T15:25:50.753 回答
1

如果您不使用csv,则使用通用换行符支持打开文件:

f = open('big_csv_file.csv', 'rU')

这将导致每个都f.readline()解释为换行符。\n\r\n\r

于 2013-09-19T15:57:05.557 回答
0

来自 csv python 文档

>>> import csv
>>> with open('eggs.csv', 'rb') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') #<--- Note the
                                                                       #delimiter param.
...     for row in spamreader:
...         print ', '.join(row)
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam

只需制作一个分隔符设置为 '\r\n' 的 csvreader。这应该给你由 \r\n 分隔的每一行。

于 2013-09-19T15:26:16.917 回答