Python pandas,如何在没有列标签的情况下读取excel文件,然后插入列标签?

时间:2014-07-12 02:39:12

标签: excel pandas

我有列表要将其作为列标签插入。 但是当我使用read_excel的pandas时,他们总是将第0行视为列标签。 我怎样才能将文件读作pandas dataframe,然后将列表作为列标签

  orig_index = pd.read_excel(basic_info, sheetname = 'KI12E00')

    0.619159  0.264191  0.438849  0.465287  0.445819  0.412582  0.397366  \
0   0.601379  0.303953  0.457524  0.432335  0.415333  0.382093  0.382361   
1   0.579914  0.343715  0.418294  0.401129  0.385508  0.355392  0.355123  

这是我的列名

的个人列表
   print set_index
[20140109, 20140213, 20140313, 20140410, 20140508, 20140612]

我想将数据帧设置如下

    20140109  20140213  20140313  20140410  20140508  20140612
0   0.619159  0.264191  0.438849  0.465287  0.445819  0.412582  0.397366  \
1   0.601379  0.303953  0.457524  0.432335  0.415333  0.382093  0.382361   
2   0.579914  0.343715  0.418294  0.401129  0.385508  0.355392  0.355123

1 个答案:

答案 0 :(得分:21)

通过header=None告诉它没有标题,您可以在names中传递一个列表,告诉它您想要同时使用的内容。 (请注意,您在示例中错过了一个列名;我假设这是偶然的。)

例如:

>>> df = pd.read_excel("out.xlsx", header=None)
>>> df
          0         1         2         3         4         5         6
0  0.619159  0.264191  0.438849  0.465287  0.445819  0.412582  0.397366
1  0.601379  0.303953  0.457524  0.432335  0.415333  0.382093  0.382361
2  0.579914  0.343715  0.418294  0.401129  0.385508  0.355392  0.355123

>>> names = [20140109, 20140213, 20140313, 20140410, 20140508, 20140612, 20140714]
>>> df = pd.read_excel("out.xlsx", header=None, names=names)
>>> df
   20140109  20140213  20140313  20140410  20140508  20140612  20140714
0  0.619159  0.264191  0.438849  0.465287  0.445819  0.412582  0.397366
1  0.601379  0.303953  0.457524  0.432335  0.415333  0.382093  0.382361
2  0.579914  0.343715  0.418294  0.401129  0.385508  0.355392  0.355123

您可以随时通过分配到df.columns来设置列名。