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



我正在使用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]

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

将您的数据帧视为:

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

如果你有少量的列,你可以直接这样做:

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

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

您可以使用创建带有字母的列表并将其分配给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

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

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

相关内容

  • 没有找到相关文章

最新更新