python - Pandas read_csv如何处理括号中的sep字符

标签 python pandas dataframe delimiter

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

相关文章:

r - dplyr 中的 mutate_each/summarise_each : how do I select certain columns and give new names to mutated columns?

python - FileNotFoundError [Errno 2] 没有这样的文件或目录 :

python - 使用 ElementTree 在 Python 中解析 XML - findall

python - 有什么方法可以在 Django 中对聚合进行分组吗?

python - 删除行内的Pandas重复值,替换为NaN,将NaN移至行尾

Python:ValueError:所有参数都应该具有相同的长度

python - 使用 dask read_parquet 方法进行过滤会产生不需要的结果

Python:在 DataFrame 中,如何循环遍历一列的所有字符串并检查它们是否出现在另一列中并对它们进行计数?

python - 从内容所有者报告中获得YouTube yield ?

python - 使用 groupby 将分组数据转换为数据帧