【问题标题】:Dataframe print index using pyexcelerate使用 pyexcelerate 的数据框打印索引
【发布时间】:2019-09-02 04:42:27
【问题描述】:

如何在我的输出 Excel 表上显示索引? 这是我的代码:

data = [df.columns.tolist(), ] + df.values.tolist()
wb = Workbook()
wb.new_sheet("sample", data=data)
wb.save("output.xlsx")

如何将索引显示为第一列?我可以使用 openpyxl 并设置 index = True 来做到这一点。

Edit1:使用以下代码更新代码:

data = [myNewDF.columns.tolist()] + myNewDF.values.tolist()
data = [[index] + row for index, row in zip(myNewDF.index, data)]

这几乎可以工作,除了 1 行丢失。结果显示如下:

TestA   A   B   C   D   E 
TestB   1   1   1   1   0 
TestC   0   0   0   1   1 
TestD   0   1   1   0   1

理想的结果应该是:

        A   B   C   D   E 
TestA   1   1   1   1   0 
TestB   0   0   0   1   1 
TestC   0   1   1   0   1
TestD   1   0   0   0   0

输入文件:

ColumnA ColumnB
TestA   A
TestA   B
TestA   C
TestA   D
TestB   D
TestB   E
TestC   C
TestC   B
TestC   E
TestD   A

Edit2:实际工作修改代码:

data = [myNewDF.columns.tolist()] + myNewDF.values.tolist()
ind =[""] + myNewDF.index.tolist())
data = [[index] + row for index, row in zip(ind, data)]

【问题讨论】:

    标签: python python-3.x pandas dataframe pyexcelerate


    【解决方案1】:

    也许只是在数据中包含索引?

    df = DataFrame({'Name': ['a', 'b', 'c'], 'Age': ['one', 'two', 'three']})
    data = [df.columns.tolist()] + df.values.tolist()
    data = [[index] + row for index, row in zip(df.index, data)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2014-08-29
      • 2017-07-09
      • 2019-02-23
      • 2020-10-06
      • 1970-01-01
      相关资源
      最近更新 更多