Pandas - 是不是可以在没有引号字符的情况下读取_csv?

Posted

技术标签:

【中文标题】Pandas - 是不是可以在没有引号字符的情况下读取_csv?【英文标题】:Pandas - Is it possible to read_csv with no quotechar?Pandas - 是否可以在没有引号字符的情况下读取_csv? 【发布时间】:2015-04-01 19:44:19 【问题描述】:

我正在尝试读取在某些行中具有 " 单个实例的 csv 文件,例如:

car,"plane,jet
jet,ski,"hat

当我使用 pandas read_csv 读取此文件时,它会将 " 识别为引号字符,并且无法正确读取上述行。当我使用read_csv 时,我希望根本没有任何引号字符。

我尝试设置quotechar=Nonequotechar='',但由于quotechar 必须是长度为1 的字符串,所以两者都吐出错误。使用read_csv 时是否可以完全没有引号?

谢谢!

【问题讨论】:

好像是Disable Quoting in CSV Reader的副本 感谢您的链接。但是,这个问题似乎是在谈论 csv 库。我专门讨论了 pandas 库。 不过,您应该可以设置quotechar='\x07'。这几乎肯定不会出现在您的实际文件中。 感谢您的建议。我会这样做,但我的脑后仍然有一种挥之不去的感觉,那就是可能会出错 XD。希望pandas以后可以允许quotechar为None或者''(空字符串) 我对 Pandas 不熟悉,但从 documentation 看来,您也可以设置 quoting=3 来完成此操作。 【参考方案1】:

来自Pandas Documentation

quoting : int 或 csv.QUOTE_* 实例,默认无 每个 csv.QUOTE_* 常量的控制字段引用行为。使用 QUOTE_MINIMAL (0)、QUOTE_ALL (1)、QUOTE_NONNUMERIC (2) 或 QUOTE_NONE (3) 之一。默认(无)导致 QUOTE_MINIMAL 行为。

所以你要包括 quoting=3 作为read_csv() 的参数。

【讨论】:

【参考方案2】:

Jkdc 的回答是正确的,但我发现实际使用文档中提到的 csv.QUOTE* 实例更具可读性。一开始我并不清楚它是指哪个 csv,所以我不知道如何导入它。这是一个代码示例:

import pandas as pd
import csv

df1 = pd.read_csv('input_file.csv', quoting=csv.QUOTE_NONE)

【讨论】:

以上是关于Pandas - 是不是可以在没有引号字符的情况下读取_csv?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有转义字符和单引号的情况下在 Groovy 中编写属性文件?

SQL中啥情况下用引号

单引号而不是双引号?

pandas 用左右引号字符解析 csv

SQL中啥情况下用引号

python,爬虫,pandas的DataFrame处理后的数据,输出到文本后中间这些数据都没有展开怎么办