由于專案的特殊原因,需要用win32com做Excel的自動化處理。主要流程就是:
1. 將兩個csv的資料合并到目標Excel的某個sheet中;
2. 重繪目標Excel的所有頁面(由于有些頁面會根據1中的sheet做一些計算和統計),得到新的結果。
但是從1得到的資料很大,大概有100萬行左右的資料,如果使用sheet提供的Cells進行值的設定,速度太慢,不知道有什么其他好的辦法。
代碼大致如下:
table_1 = read_from_csv1()
table_2 = read_from_csv2()
Application = win32com.client.Dispatch("Excel.Application")
Application.Visible = True
Workbook = Application.Workbooks.open('c:\\target.xlsx')
sht = Workbook.Worksheets('Test')
sht.UsedRange.ClearContents()
for row_number, row in enumerate(table_1): # for each row in the report
for col_number, val in enumerate(row):
sht.Cells(row_number + 1, col_number + 1).Value = val
current_row_number = row_number
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/223170.html
上一篇:python中呼叫np.linalg.eig()函式求實對稱矩陣的特征值結果為復數怎么回事?
下一篇:scrapy如何分布式部署?
