我有一个python脚本使用openpyxl
处理excel数据,但是在2500行之后,我得到了内存错误。有人能帮我吗?
在这里,我正在向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行后,我得到一个内存错误:
Traceback(最近一次调用最后一次):文件"C:\用户\sryasz\PycharmProjects\sel\venv\lib\site-包\openpyxl\work表\worksheet.py",第240行,单元格中的File"C:\用户\sryasz\PycharmProjects\sel\venv\lib\site-包\openpyxl\work表\worksheet.py",行256,在_get_cellMemoryError
在较旧的版本中,也许在当前稳定的版本lofopenpyxl
中,您可以将use_iterators=True
传递给load_workbook()
。在即将发布的版本中,这个功能似乎被弃用了。
此外,优化的模式可能会有所帮助:https://openpyxl.readthedocs.io/en/stable/optimized.html-您可以尝试首先将原始excel文件复制到临时文件,将初始状态打开为只读,临时状态打开为只写,然后迭代只读版本,但更新为只写一个,处理完所有数据后,关闭两个,并将临时只写移回原始数据。
LOAD DATA INFILE'/home/cloudera/desktople/sql DATA/customer.csv'替换到表Customers字段以‘结尾,行以'\n'结尾;
这是我的Fab活动 } 这是我的logcat 进程:com.teepe.teepe,PID:29259 java.lang.RuntimeException:无法启动活动组件Info{com.teepe.teepe/com.teepe.teepe.MainActivity}:java.lang.ClassCastException:Android.Support.Design.Widget.Flo
Traceback(最近一次调用last):File " c:\ users \ administrator \ appdata \ local \ programs \ python \ python 36 \ lib \ runpy。py”,第193行,in _ run _ module _ as _ main“main”,mod_spec)文件“c:\ users \ administrat
配置文件在这里输入图像描述@my appService提供商 在此处输入图像描述 在我安装input composer后,有人能告诉我这个问题吗?问题是,现在我无法迁移 当我运行php artisan迁移时,这个问题会显示出来 未知数据库配置/database.php(SQL:选择*从information_schema.tables其中table_schema=配置/database.php和t
我试图解决这个问题:第三个最大数量 但我犯了这个错误 第4行:Char 37:运行时错误:有符号整数溢出:-9223372036854775808-10不能在类型“long long”(solution.cpp)摘要中表示:UndefinedBehaviorSanitizer:undefined behavior prog_joined。cpp:13:37 这是我的代码 有人能告诉我这个错误到底意
我想用jQuery DataTable进行多列筛选,但我得到一个错误,不知道如何解决。 错误:$(...)DataTable不是函数类型错误:$(...)。DataTable不是函数未捕获的类型错误:无法读取未定义的属性“column” 你能帮我解决这个错误吗? 我的HTML代码,