python: openpyxl写入文件打开后显示文件损坏

博客讲述了在使用openpyxl库将字典数据写入Excel时遇到的文件损坏问题。作者发现错误在于使用`wb.active`激活工作表,改为`wb[Sheet1]`后问题得到解决。建议在写入大数据前检查文件写入情况,避免使用`wb.active`,并确保新建Excel文件至少打开一次以激活工作表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在将字典数据写入excel时,运用了openpyxl,点击运行,代码运行正常,但是跑了一晚上数据,打开文件时,居然显示“部分内容有问题”“文件已损坏”,经过多次测试,上网搜索无结果后,更改代码中的wb.active为wb = ws["Sheet1"]后问题解决。

报错显示:

源代码样式:

import openpyxl
dic = {"A":1, "B":2, "C":3}
wb = openpyxl.load_workbook(inputpath, data_only=True)
ws = wb.active  # 激活工作区
ws.append(dic)
wb.save(inputpath)

更改后样式:

import openpyxl
dic = {"A":1, "B":2, "C":3}
wb = openpyxl.load_workbook(inputpath, data_only=True)
ws = wb["Sheet1"]
ws.append(dic)
wb.save(inputpath)

问题分析:

因为在录入数据时,我的习惯是新建一个excel文件,重命名,之后并不会再打开,而是直接在程序中输入路径点击运行。这可能就导致使用active时找不到工作表而导致数据录入不成功。

结论:

1.慎用wb.active语句,并不常用

2.在录入大数据前多检查几次文件是否写入成功

3.新建的excel文件最好打开一下以防未激活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值