Pandas read_csv:忽略第二个标题lin

2024-09-25 02:34:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的数据文件:

# comment
# comment
Header1;Header2
Unit1;Unit2
0;123
1;231
2;512

我想和他们一起读熊猫.read_csv使用Header1;Header2行作为标题,但忽略Unit1;Unit2。在

到目前为止我得到的是

^{pr2}$

这几乎是我想要的,只是它从两个标题行创建了一个多标题:

  Header1 Header2
    Unit1   Unit2
0       0     123
1       1     231
2       2     512

我怎么能告诉熊猫只取第一行作为标题?在

编辑: 这是我想要的输出:

  Header1 Header2
0       0     123
1       1     231
2       2     512

Tags: csv编辑标题read数据文件commentpr2header1
2条回答

否则,您可以使用选项header=2告诉pandas使用第一行作为列名, 但是如果要跳过第二行的选项skiprows =[3], 它发出以下命令:

>>pd.read_csv(datafile, sep=';', comment='#', header=0, skiprows=[1])  

   Header1  Header2
0        0      123
1        1      231
2        2      512

您可以将[3]作为参数传递给skiprows

In [100]:
t="""# comment
# comment
Header1;Header2
Unit1;Unit2
0;123
1;231
2;512"""
df = pd.read_csv(io.StringIO(t), sep=';', comment='#', skiprows=[3])
df

Out[100]:
   Header1  Header2
0        0      123
1        1      231
2        2      512

编辑

对于初始版本,可以像以前一样读取csv,然后用droplevel覆盖列:

^{pr2}$

相关问题 更多 >