当前位置:  开发笔记 > 编程语言 > 正文

将未知分隔符的.csv加载到Pandas DataFrame中

如何解决《将未知分隔符的.csv加载到PandasDataFrame中》经验,为你挑选了2个好方法。

我有许多要加载到pandas数据帧中的.csv文件,至少有两个定界符逗号和半冒号,但我不确定其余定界符。我知道可以使用

dataRaw = pd.read_csv(name,sep=",")

dataRaw = pd.read_csv(name,sep=";")

不幸的是,如果我不指定定界符,则默认值为逗号,这将导致其他定界符的单列数据帧。因此,有没有一种动态的方式来分配定界符,以便任何csv可以传递给熊猫?例如尝试逗号或分号。熊猫文档并未暗示在csv读取中使用逻辑



1> Anaidel..:

熊猫文档中实际上有一个答案(至少对于熊猫0.20.1)

sep:str,默认','

要使用的定界符。如果sep为None,则C引擎无法自动检测到分隔符,但Python解析引擎可以,这意味着后者将被自动使用。此外,超过1个字符且与'\ s +'不同的分隔符将被解释为正则表达式,并且还将强制使用Python解析引擎。注意,正则表达式定界符易于忽略引用的数据。正则表达式示例:“ \ r \ t”

这意味着您可以使用

dataRaw = pd.read_csv(name, sep = None, engine = 'python')

如果除“;”以外的其他分隔符,这也应该起作用 要么 '。' 您的.csv文件中(例如,制表符分隔符)。



2> Fabio Lamann..:

如果您使用其他分隔符,则可以使用:

dataRaw = pd.read_csv(name,sep=";|,")

是可处理由OR(|)运算符划分的多个分隔符的正则表达式。

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有