python生成excel文件报扩展名错误_保存Excel文件Python时发生I/O错误

在尝试使用Python的openpyxl库打开、格式化并保存大型Excel文件(约40MB)时,遇到了内存限制导致的串行化I/O错误。代码中加载工作簿、设置单元格样式并保存文件的过程中,对于大文件可能出现内存不足的问题。系统配置为8GB内存的32位Windows7系统。
摘要由CSDN通过智能技术生成

我用python打开一个现有的excel文件并进行格式化,保存并关闭文件。我的代码在文件大小很小,但当excel大小很大时(大约。40MB)我得到串行化I/O错误,我确定这是由于内存问题或我的代码。请帮忙。在

系统配置:

内存-8 GB

32位操作

Windows 7系统

代码:import numpy as np

from openpyxl import load_workbook

from openpyxl.styles import colors, Font

dest_loc='/Users/abdulr06/Documents/Python Scripts/'

np.seterr(divide='ignore', invalid='ignore')

SRC='TSYS'

YM1='201707'

dest_file=dest_loc+SRC+'_'+''+YM1+'.xlsx'

sheetname = [SRC+''+' GL-Recon']

#Following code is common for rest of the sourc systems

wb=load_workbook(dest_file)

fmtB=Font(color=colors.BLUE)

fmtR=Font(color=colors.RED)

for i in range(len(sheetname)):

sheet1=wb.get_sheet_by_name(sheetname[i])

print(sheetname[i])

last_record=sheet1.max_row+1

for m in range(2,last_record):

if -30 <= sheet1.cell(row=m,column=5).value <=30:

ft=sheet1.cell(row=m,column=5)

ft.font=fmtB

ft.number_format = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'

ft1=sheet1.cell(row=m,column=6)

ft1.number_format = '0.00%'

else:

ft=sheet1.cell(row=m,column=5)

ft.font=fmtR

ft.number_format = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'

ft1=sheet1.cell(row=m,column=6)

ft1.number_format = '0.00%'

wb.save(filename=dest_file)

例外情况:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值