Python Unicode CSV,引号之间有换行符

2024-09-25 00:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用unicodesv在Python中遍历csv文件的行。 CSV文件中的所有字符串都在引号之间,但是CSV阅读器仍然将换行符视为行分隔符。在

这是我的代码:

with open(path, mode='rU') as f:
    reader = unicodecsv.reader(f, delimiter=b',', quoting=csv.QUOTE_MINIMAL, quotechar=b'"', lineterminator="\n")

    for count, row in enumerate(reader):
        if count < row_offset:
            continue
        record = {}
        for col, mapper in enumerate(mappers):
            ...
            ...                                               

以下是csv行的示例:

^{pr2}$

由于某种原因,读者会把它读成两行而不是一行。在

编辑

新CSV行示例:

628,2012-07-27 01:59:32,000445,MARC,525,"HE547                           ","1",2012-07-27,,,,,,,,"This is an example, this is a test line.
new line but it is in the same csv line, followed by some enters!


",

Tags: 文件csv字符串in示例foriscount
1条回答
网友
1楼 · 发布于 2024-09-25 00:25:39

逗号后面有空格;在读卡器上设置skipinitialspace=True可忽略此项:

reader = unicodecsv.reader(f, delimiter=b',', skipinitialspace=True, quoting=csv.QUOTE_MINIMAL, quotechar=b'"', lineterminator="\n")

使用常规reader.csv()对象进行演示:

^{pr2}$

注意,如果没有skipinitialspace标志集,第二列以' "...开头,因此是一个空格和引号。这并不是说新行没有被识别,而是由于空格的原因,引号没有被提取。在

另一种可能是输入数据使用不同的引号字符。不管怎样,csv.reader()不能识别你的专栏被引用了。{6>中的任何字符都不完整时,请查看该列中返回的是什么字符。在

然而,如果没有精确的CSV数据示例,很难说您在这里遇到了什么问题。在

相关问题 更多 >