使用字母作为列索引(如在MS Excel中)而不是数字来打印Pandas DataFrame

时间:2018-12-22 02:51:50

标签: python excel pandas dataframe

我正在使用Pandas读取MS Excel .xlsx文件,到目前为止,这是代码:

import pandas as pd

excel_file = 'test.xlsx'
df = pd.read_excel(excel_file, sheetname='Sheet2', header=None)
print(df)

输出为:

   0  1  2
0  5  6  7
1  8  9  0
[Finished in 0.8s]

相反,我希望在MS Excel中看到它:

   A  B  C
0  5  6  7
1  8  9  0
[Finished in 0.8s]

我的意思是列索引应该是字母。有可能吗?

2 个答案:

答案 0 :(得分:0)

如果最多只需要Z,则可以使用:

df = df.rename(columns={i:chr(i+65) for i in range(26)})

答案 1 :(得分:0)

考虑您的数据框是这样的:

In [184]: df
Out[184]: 
   0  1  2
0  5  6  7
1  8  9  0

如果列数较少,则可以直接执行以下操作:

df.columns = ['A','B','C']

OR

如果列数更多,请执行以下操作:

您可以使用创建带有字母的列表并将其分配给df.columns

In [189]: col_list = [ chr(i+65) for i in range(len(df.columns)) ]
In [190]: col_list
Out[190]: ['A', 'B', 'C']

In [191]: df.columns = col_list

In [192]: df
Out[192]: 
   A  B  C
0  5  6  7
1  8  9  0