使用openpyxl时出现“文件头的错误幻数”错误

时间:2017-07-15 17:49:46

标签: python excel openpyxl

我制作了一个python脚本,用于读取excel电子表格并返回单元格A39的值。我正在使用openpyxl库。

以下是给出错误的代码部分:

cFile = openpyxl.load_workbook('contacts.xlsx', read_only= True)
sheet = cFile.get_sheet_by_name('cSheet')

print sheet['A39'].value

不是打印单元格A39的值,而是在电子表格中为“38”,我收到以下错误:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 971, in open
raise BadZipfile("Bad magic number for file header")
zipfile.BadZipfile: Bad magic number for file header

电子表格'contacts.xlsx'不是压缩文件。它与python脚本位于同一文件夹中。我用Excel 2011制作了。有谁知道我为什么会收到此错误或者我如何解决它?

谢谢!

1 个答案:

答案 0 :(得分:0)

当我遇到同样的错误时,我也无法理解该问题。 还可以使用openpyxl库。 我的根本问题是在使用某种多线程的同时打开并保存了一些文件。为了解决这个问题,我根据每个线程更改了文件名。您还可以使用一些锁。