所以我有大约20k列的原始文件,类似于:

number|colour|(a|1)|animal
1|green|x|dog
2|blue|y|cat
3|red|z|owl


当我使用read_csv('raw.csv',sep ='|')时,由于(a | 1)列被拆分,因此会创建一个具有额外列的数据框。

我尝试使用quotechar参数,但是只能使用一个值。任何帮助将非常感激

最佳答案

使用您提供的示例数据,额外的分隔符仅出现在标题行中。这样,您可以使用names关键字提供自己的列名,然后告诉Pandas跳过标题行,如下所示:

import pandas as pd

df = pd.read_csv('raw.csv', sep='|', skiprows=1, names=["number", "colour", "(a|1)", "animal"])
print df


这将为您提供:

   number colour (a|1) animal
0       1  green     x    dog
1       2   blue     y    cat
2       3    red     z   owl

关于python - Pandas read_csv如何处理括号中的sep字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42395480/

10-11 16:00