pandas数据帧有2行标题并导出到csv

Mel*_*oun 9 python csv dataframe pandas

我有一个数据帧

df = pd.DataFrame(columns = ["AA", "BB", "CC"])
df.loc[0]= ["a", "b", "c1"]
df.loc[1]= ["a", "b", "c2"]
df.loc[2]= ["a", "b", "c3"]
Run Code Online (Sandbox Code Playgroud)

我需要在标题中添加secod行

df.columns = pd.MultiIndex.from_tuples(zip(df.columns, ["DD", "EE", "FF"]))
Run Code Online (Sandbox Code Playgroud)

我的df现在

  AA BB  CC
  DD EE  FF
0  a  b  c1
1  a  b  c2
2  a  b  c3
Run Code Online (Sandbox Code Playgroud)

但是当我将这个数据帧写入csv文件时

df.to_csv("test.csv", index = False)
Run Code Online (Sandbox Code Playgroud)

我按预期更多地获得一排

AA,BB,CC
DD,EE,FF
,,
a,b,c1
a,b,c2
a,b,c3
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 6

这是一个丑陋的黑客攻击,但是如果你现在需要一些工作(tm),你可以把它写成两部分:

>>> pd.DataFrame(df.columns.tolist()).T.to_csv("noblankrows.csv", mode="w", header=False, index=False)
>>> df.to_csv("noblankrows.csv", mode="a", header=False, index=False)
>>> !cat noblankrows.csv
AA,BB,CC
DD,EE,FF
a,b,c1
a,b,c2
a,b,c3
Run Code Online (Sandbox Code Playgroud)