Python Openpyxl选择单元格开始打印numpy数组

时间:2016-02-25 19:48:17

标签: python arrays excel numpy openpyxl

所以我刚开始使用openpyxl,我正在尝试将我的numpy数组打印到特定的单元格。我能够从第一个单元格开始打印数组excel(参见下面的代码),但不知道如何选择一个单元格来开始打印。在我的例子中,我将列表转换为numpy数组,因为我的工作软件输出了一个numpy数组。

exlist = numpy.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
wb = Workbook()
dest_filename = 'scrappaper3.xlsx'
ws1 = wb.active
ws1.title = 'scrap3'
for x in xrange(exlist.shape[1]):
    ws1.append(exlist[:,x].tolist())
wb.save(filename=dest_filename)

输出从单元格A1开始,但想指定要输出的第一个单元格

    1   6   11
    2   7   12
    3   8   13
    4   9   14
    5   10  15 

我尝试使用openpyxl中的示例,代码类似于下面但我不知道如何配置它,因为我收到一条错误,说它无法转换为excel。

ws1.cell(column=col, row=row).value = exlist

1 个答案:

答案 0 :(得分:0)

目前openpyxl不支持NumPy类型,因此您需要转换这些标准Python类型。这对于整数,浮点数或bool很容易,NaN应该转换为None。 NumPy日期时间应转换为Pandas时间戳。

openpyxl 2.4将添加对NumPy和Timestamp类型的支持,但不支持datetime64。