2015-05-05 39 views
0

我使用下面的代碼片段使用openpyxl將數據複製到excel文件。在excel中複製數據 - openpyxl

 for i, j in enumerate(fint): 
     _= ws1.cell(column=i +1, row=globdat.cycle, value=j) 

    wb.save(filename = dest_filename) 

這樣做之後,我發現的代碼變得很慢。有沒有更好的方法來做到這一點?

globdat.cycle是每次迭代的計數。

'fint'是在每次迭代中具有未知數量條目的行向量。

鈮 - 我正在處理大量的數據,所以只有openpyxl似乎工作。

回答

0

不幸的是,由於數據存儲在Excel中的方式,複製操作相當困難。 xlutils庫確實包含了一些專門爲此設計的函數,但我不知道它們是否適用於xlsx文件。

如果你只是想要部分數據,那麼我建議你打開文件,以便以只讀模式複製並以只寫模式寫入另一個文件。這將保持內存的使用,並且應該非常快。

對於其他情況,有一些關於bug跟蹤器的建議:https://bitbucket.org/openpyxl/openpyxl/issue/171/