在pandas中,是否可以用行终止符读取csv



我正在使用pandas==1.1.5读取CSV文件。我正在运行以下代码:

import pandas as pd
import csv
csv_kwargs = dict(
delimiter="t",
lineterminator="rn",
quoting=csv.QUOTE_MINIMAL,
escapechar="!",
)
pd.read_csv("...", **csv_kwargs)

它会引发以下错误:ValueError: Only length-1 line terminators supported
Pandas文档确认行终止符应该是length-1(我想是单个字符)。

有什么方法可以和Pandas一起阅读这个CSV吗?我应该用其他方式阅读吗
请注意,文档建议C解析器使用length-1,也许我可以插入其他解析器?

编辑:未指定行终止符会在文件中间引发解析错误。特别是ParserError: Error tokenizing data.,它期望字段的数量正确,但得到的字段太多。

第二版:我相信上面的kwargs是用来创建我要读取的csv文件的。

由于!是一个常见的文本字符,因此问题可能出现在escachar中。

Python的csv模块定义了escapechar:的严格使用

如果引号设置为QUOTE_NONE,编写器用来转义分隔符的一个字符串,如果双引号设置为False,则用来转义quotechar。

但熊猫可能对其有不同的解释:

用于转义其他字符的一个字符串。

您可能有一行包含以下内容:

...t"some important text!"t...

这将转义引号字符并继续将文本解析到该列中。

最新更新