为什么我尝试使用xlrd打开excel工作簿时遇到KeyError

问题描述 投票:0回答:1

我试图遍历excel电子表格的文件夹并打开它们以提取数据并推送到数据库。到目前为止,我在尝试使用xlrd.open_workbook时仍然遇到错误。我试图理解什么是一个keyerror,为什么我得到它。还需要一些通过它的方法。

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'))

这是我的错误:Traceback(最近一次调用最后一次):

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天,所以我仍然掌握了基础知识。 “关键错误是什么意思,我该如何解决?

谢谢!

python python-3.x xlrd keyerror
1个回答
0
投票

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

import xlrd as rd

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

该程序变得混乱,并认为文件名结束于

/Extract/Bob 

第二个开始于

Trucking & Warehouse, LLC.xlsm")

这意味着它期望你使用两组引号来表示两个不同的字符串。您还可以将'r'放在文件路径的前面,这意味着解释器将忽略特殊符号,例如\ $。

© www.soinside.com 2019 - 2024. All rights reserved.