0
我有一個有11,000行和10列的電子表格。我試圖複製每行與選定的列,每行添加額外的信息和輸出到TXT。使用openpyxl處理非常大的文件python
不幸的是,我遇到了非常糟糕的性能問題,文件開始在100行後死掉並終止我的處理器。有沒有辦法來加速或使用更好的方法?我已經使用read_only=True
和data_only=True
大多數內存密集型部分是通過遍歷每個單元:
for i in range(probeStart, lastRow+1):
dataRow =""
for j in range (1,col+2):
dataRow = dataRow + str(sheet.cell(row=i, column=j).value) + "\t"
sigP = db.get(str(sheet.cell(row= i, column=1).value), "notfound") #my additional information
a = str(sheet.cell(row = i, column = max_column-1).value) +"\t"
b = str(sheet.cell(row = i, column = max_column).value) + "\t"
string1 = dataRow + a + b + sigP + "\n"
w.write(string1)
@Rahul如何是熊貓更好?我應該使用哪些功能來提高性能? – theMicroGirl
我不認爲你需要熊貓在這裏。 openpyxl就足夠了。什麼是思考問題是'db.get' – Rahul
重複使用'ws.cell()'是你的代碼中的問題,它迫使openpyxl重新分析工作表。 –