我有很多.csv文件要加载到pandas数据框中,至少有两个分隔符逗号和半冒号,我不确定其余的分隔符。我知道可以使用
设置分米dataRaw = pd.read_csv(name,sep=",")
和
dataRaw = pd.read_csv(name,sep=";")
不幸的是,如果我没有指定分隔符,则默认为逗号,这会导致其他分隔符的单个列数据框。因此有一种动态的方式来分配分隔符,以便任何csv可以传递给熊猫吗?例如尝试逗号或分号。 pandas文档没有提到在csv read中使用逻辑
答案 0 :(得分:4)
答案 1 :(得分:4)
pandas documentation实际上有一个答案(至少对于pandas 0.20.1)
sep :str,默认','
要使用的分隔符。如果sep为None,则C引擎无法自动检测分隔符,但Python解析引擎可以,这意味着后者将自动使用。此外,长度超过1个字符且与'\ s +'不同的分隔符将被解释为正则表达式,并且还将强制使用Python解析引擎。请注意,正则表达式分隔符很容易忽略引用的数据。正则表达式示例:'\ r \ t'
这意味着您只需使用
即可阅读文件dataRaw = pd.read_csv(name, sep = None, engine = 'python')
如果除了';'之外还有其他分隔符,这也应该有效要么 '。'在您的.csv文件中(例如,制表符分隔符)。