最近在将字典数据写入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文件最好打开一下以防未激活