![](/img/trans.png)
[英]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.