我在 python 中使用 gspread 包。我尝试将 csv 导入 Google 电子表格,但出现错误。我的代码如下:import gspreadfrom oauth2client.service_account import ServiceAccountCredentialsspreadsheet_id = '1tFhK2-zebkG1fZFF6Xe5LHyONkh97ANOkcf'scopes = [ 'https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']creds = ServiceAccountCredentials.from_json_keyfile_name('./credentials.json', scopes=scopes)client = gspread.authorize(creds)file = open('test_csv.csv',mode='r')csv = file.read()file.close()client.import_csv(spreadsheet_id, csv)我得到的错误是:---------------------------------------------------------------------------APIError Traceback (most recent call last)<ipython-input-264-eb5d4ce7bc69> in <module>()----> 1 client.import_csv(spreadsheet_id, csv)~/anaconda3/lib/python3.6/site-packages/gspread/client.py in import_csv(self, file_id, data) 238 'convert': True 239 },--> 240 headers=headers 241 ) 242 ~/anaconda3/lib/python3.6/site-packages/gspread/client.py in request(self, method, endpoint, params, data, json, files, headers) 77 return response 78 else:---> 79 raise APIError(response) 80 81 def list_spreadsheet_files(self):APIError: { "error": { "errors": [ { "domain": "global", "reason": "notFound", "message": "File not found: 1tFhK2-zebkG1fZFF6Xe5LHyONkh97ANOkcf", "locationType": "other", "location": "file" } ], "code": 404, "message": "File not found: 1tFhK2-zebkG1fZFF6Xe5LHyONkh97ANOkcf" }}但是,当我尝试直接在单元格上读取或写入(update_cell例如使用函数)时,我没有收到任何错误,因此电子表格确实存在并且我可以在其上书写。特别import_csv是抛出错误。我已经通过谷歌驱动器网络界面创建了谷歌表。然后,我在电子表格的授权邮件中添加了来自 credential.json (blabla@blabla-220209.iam.gserviceaccount.com) 的 client_email。有什么建议吗?
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
确保您使用的是最新版本的 gspread。例如,与 Google Colab 捆绑在一起的那个已经过时了:
!pip install --upgrade gspread
这gs.csv_import
为我修复了错误。
添加回答
举报
0/150
提交
取消