Python 使用一列中的两个键从Pandas保存到excel

Python 使用一列中的两个键从Pandas保存到excel,python,python-3.x,excel,pandas,dataframe,Python,Python 3.x,Excel,Pandas,Dataframe,我正在使用pandas创建一个数据框架并将其写入excel。我在pandas中有多个键,当我写入excel时,每个键都会成为工作表中的一列。我想要的是列中主列名下的两个键。例如: import pandas as pd df = pd.DataFrame({"A": [], "B": [], "C_1": [], "C_2": []}) df = df.append({"A": 1, "

我正在使用pandas创建一个数据框架并将其写入excel。我在pandas中有多个键,当我写入excel时,每个键都会成为工作表中的一列。我想要的是列中主列名下的两个键。例如:

import pandas as pd

df = pd.DataFrame({"A": [], "B": [], "C_1": [], "C_2": []})
df = df.append({"A": 1, "B": 2, "C_1": 3, "C_2": 4})

writer = pd.ExcelWriter("data.xlsx", engine='xlsxwriter')
df.to_excel(writer, index=False)
writer.save()
上述代码在excel文件中生成下表

| A | B | C_1 | C_2 |
---------------------
| 1 | 2 |  3  |  4  | 
但是,键
C_1
C_2
是键
C
的子分区,我的预期输出是

| A | B |     C     |
|   |   | C_1 | C_2 |
---------------------
| 1 | 2 |  3  |  4  | 

我已经看过了,它实现了我想要的功能,但我不确定如何将它与没有子分区的列(如
A
)混合使用。我怎样才能做到这一点?非常感谢您的帮助。

我不知道是否有帮助,但您可以尝试创建如下多级列:

cols = [(i.split('_')[0],i) if len(i.split('_'))>1 else (i,'') for i in df.columns]    
df.columns = pd.MultiIndex.from_tuples(cols)


你还卡住了吗?
    A   B   C
            C_1 C_2
0   1.0 2.0 3.0 4.0