为什么尝试使用xlrd

时间:2019-02-14 14:10:34

标签: python python-3.x xlrd keyerror

我正在尝试遍历excel电子表格的文件夹并打开它们以提取数据并推送到数据库。到目前为止,尝试使用xlrd.open_workbook时,我一直收到错误消息。我试图了解什么是关键错误以及为什么会得到它。还需要一些方法来解决它。

import xlrd as rd

book= 
rd.open_workbook("C:/Users/me/Desktop/PythonSpyderDesktop/Extract/Bob 
Trucking & Warehouse, LLC.xlsm")

我也在尝试:

path = "C:\\Users\\me\\Desktop\\PythonSpyderDesktop\\Extract\\"
book= 
rd.open_workbook(os.path.join(path,'Bob 
Trucking & Warehouse, LLC.xlsm'))

这是我的错误: 追溯(最近一次通话):

File "<ipython-input-99-682ed177f4f5>", line 1, in <module>
book= rd.open_workbook("C:/Users/me/Desktop/PythonSpyderDesktop/Extract/Bob 
Trucking & Warehouse, LLC.xlsm")

File "C:\Python3\WPy-3670\python-3.6.7.amd64\lib\site- 
packages\xlrd\__init__.py", line 143, in open_workbook
ragged_rows=ragged_rows,

File "C:\Python3\WPy-3670\python-3.6.7.amd64\lib\site- 
packages\xlrd\xlsx.py", line 808, in open_workbook_2007_xml
x12book.process_stream(zflo, 'Workbook')

File "C:\Python3\WPy-3670\python-3.6.7.amd64\lib\site- 
packages\xlrd\xlsx.py", 
line 265, in process_stream
meth(self, elem)

File "C:\Python3\WPy-3670\python-3.6.7.amd64\lib\site- 
packages\xlrd\xlsx.py", line 374, in do_sheet
reltype = self.relid2reltype[rid]

KeyError: ''

如果我能对一个关键错误有更多的了解,那就太棒了。我知道这与字典对象有关,但是我已经用python编写了2天的代码,所以我仍然掌握了基础知识。 ''键错误是什么意思,我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您整理代码所在的行,您的第一个代码段似乎可以正常工作。

/Extract/Bob 

程序变得混乱,并认为文件名以

结尾
Trucking & Warehouse, LLC.xlsm")

一秒钟开始

{{1}}

表示希望您使用两组引号来表示两个不同的字符串。您还可以在文件路径的前面加上“ r”,因为这意味着解释器将忽略特殊符号,例如\ $。