所以我有这样的原始文件,大约有 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/