【发布时间】:2018-11-24 16:52:37
【问题描述】:
大家下午好。
我知道这是一个很简单的问题,但我就是不明白为什么它不能按我预期的方式工作。
任务如下:
我有一个以这种格式显示的文件 data.csv:
id,"feature_1","feature_2","feature_3"
00100429,"PROTO","Proprietary","Phone"
00100429,"PROTO","Proprietary","Phone"
问题是使用 pandas 导入这些数据。我知道默认情况下 pandas read_csv 使用逗号分隔符,所以我只是将其导入如下:
data = pd.read_csv('data.csv')
而我得到的结果是我一开始呈现的,完全没有变化。我的意思是一列包含所有内容。
我使用正则表达式尝试了许多其他分隔符,唯一做出某种改进的分隔符是:
data = pd.read_csv('data.csv',sep="\,",engine='python')
一方面它最终将所有列分开,另一方面数据的呈现方式使用起来并不方便。特别是:
"id ""feature_1"" ""feature_2"" ""feature_3"""
"00100429 ""PROTO"" ""Proprietary"" ""Phone"""
因此,我认为某处一定是错误的,因为数据似乎很好。
所以问题是 - 如何导入具有分隔列且没有三引号符号的 csv 文件?
谢谢。
【问题讨论】:
-
我认为还有另一种格式,就像您提到的
have a file data.csv presented in this format:,因为您的示例数据与sep=','一起工作非常好。你能创建更好的数据样本来返回你的错误输出吗? -
你的问题在这里
sep="\,",只需使用sep=","不要放`` -