2016-02-25 100 views
1

所以我刚开始使用openpyxl,我试图将我的numpy数组打印到特定单元格。我能够从第一个单元格开始打印数组以开始工作(请参阅下面的代码),但不知道如何选择单元格以开始打印。在我的例子中,我将列表转换为一个numpy数组,因为我的工作软件输出一个numpy数组。Python Openpyxl挑选单元格开始打印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 

回答

0

目前openpyxl不支持NumPy类型,所以您将需要转换这些标准的Python类型。对整数,浮点数或布尔值来说这很容易,NaN应该转换为无。 NumPy日期时间应该转换为熊猫时间戳。

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

+0

但它能够打印numpy数组以达到excel,只是无法选择要打印的单元格。 – New2Python