KeyError: 'clientID'

9 浏览
0 Comments

KeyError: 'clientID'

有人能告诉我代码出了什么问题吗?我正在为Spotify建立一个语音助手。我创建了两个.py文件,一个文件包含了所有的\'获取URI\'和\'播放音轨\'函数,另一个文件用于使用从Spotifys的开发者论坛中创建应用程序时获取的客户端ID、客户端密钥和范围来授权访问。此外,我将我的PC名称作为设备名称和重定向URI提供。运行主文件时,它报了一个与客户端ID相关的KeyError。以下是代码:\n

import pandas as pd
from speech_recognition import Microphone, Recognizer, UnknownValueError
import spotipy as sp
from spotipy.oauth2 import SpotifyOAuth
from Spots import spotsFunctions as sf, InvalidSearchError
# 从setup.txt设置变量
setup = pd.read_csv('userDetails.txt', sep='=', index_col=0, header=None).squeeze()
clientID = setup['clientID']
clientSecret = setup['clientSecret']
deviceName = setup['deviceName']
redirectUri = setup['redirectUri']
scope = setup['scope']
username = setup['username']
# 连接到Spotify账户
auth_manager = SpotifyOAuth(
    client_id = clientID,
    client_secret=clientSecret,
    redirect_uri=redirectUri,
    scope=scope,
    username=username)
spotify = sp.Spotify(auth_manager=auth_manager)

\n以下是抛出的错误:\n

File "D:\Spotify Voice Assistant\venv\lib\site-packages\pandas\core\indexes\base.py", line 3800, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 165, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 5745, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 5753, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'clientID'
以上异常是以下异常的直接原因:
Traceback (most recent call last):
  File "D:\Spotify Voice Assistant\main.py", line 11, in 
    clientID = setup['clientID']
  File "D:\Spotify Voice Assistant\venv\lib\site-packages\pandas\core\series.py", line 982, in __getitem__
    return self._get_value(key)
  File "D:\Spotify Voice Assistant\venv\lib\site-packages\pandas\core\series.py", line 1092, in _get_value
    loc = self.index.get_loc(label)
  File "D:\Spotify Voice Assistant\venv\lib\site-packages\pandas\core\indexes\base.py", line 3802, in get_loc
    raise KeyError(key) from err
KeyError: 'clientID'

0
0 Comments

问题出现的原因是在代码中使用了一个字典的键“clientID”,但是字典中并没有这个键。错误信息“KeyError: 'clientID'”提示了这个问题。

问题可能出现在使用文件“userDetails.txt”创建字典的过程中,可能是文件的结构或者内容出现了问题。我们可以检查一下文件中是否包含了“clientID”的条目。

希望对你有帮助!

0