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=None
和quotechar=''
,但由于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?的主要内容,如果未能解决你的问题,请参考以下文章