[英]When i run heroku ps:scale web=1 command i am getting this error. Can anyone help me with this
[英]Hi, I have a python script to work with excel data using openpyxl ,but after 2500 rows i am getting Memory Error. Can anyone help me on this?
我有一個 python 腳本可以使用openpyxl
處理 excel 數據,但是在 2500 行之后我收到 Memory 錯誤。 誰可以幫我這個事?
在這里,我正在寫 excel 並同時處理更新的數據。
import openpyxl
import json,ast,xlrd
loc = "primeline_delivery.xlsx"
shee = openpyxl.load_workbook(loc)
sheet=shee.active
n_col=sheet.max_column
n_col_1=n_col+1
for q in range(1,n_col_1):
if(sheet.cell(row=1,column=q).value=='source_product_attributes'):
source=q
for i in range(2,sheet.max_row):
a=sheet.cell(row=i,column=source).value
if(a!='[""]'):
a1=ast.literal_eval(a)
for j in a1:
j1=ast.literal_eval(j)
for k in j1.items():
print(k)
for x in range(1,n_col_1):
t=0
if (sheet.cell(row=1,column=x).value ==k[0]):
found = x
t=t+1
sheet.cell(row=i,column=x).value=str(k[1])
if(t==0):
sheet.cell(row=1,column=n_col_1).value=str(k[0])
sheet.cell(row=i,column=n_col_1).value=str(k[1])
n_col_1 = n_col_1 + 1
print(i)
shee.save('test1.xlsx')
代碼工作正常,但在 2500 行之后我收到 memory 錯誤:
回溯(最近一次調用最后):文件“C:\Users\sryasz\PycharmProjects\sel\venv\lib\site-packages\openpyxl\worksheet\worksheet.py”,第 240 行,單元格文件“C:\Users\ sryasz\PycharmProjects\sel\venv\lib\site-packages\openpyxl\worksheet\worksheet.py",第 256 行,在 _get_cell MemoryError 中
在較舊且可能在當前穩定版本openpyxl
,您可以將use_iterators=True
傳遞給load_workbook()
。 在即將發布的版本中,此功能似乎已被棄用。
Also, optimized modes could help: https://openpyxl.readthedocs.io/en/stable/optimized.html - You could try to first copy your original excel file to a tempporary file, open your initial state as read-only, temporary作為只寫,然后迭代只讀版本,但對只寫版本進行更新,一旦處理完所有數據,關閉兩者並將臨時只寫版本移回原始版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.