在python中使用gspread import_csv函数时找不到文件

我在 python 中使用 gspread 包。


我尝试将 csv 导入 Google 电子表格,但出现错误。


我的代码如下:


import gspread

from oauth2client.service_account import ServiceAccountCredentials


spreadsheet_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。


有什么建议吗?


慕码人8056858
浏览 191回答 3
3回答

蝴蝶刀刀

确保您使用的是最新版本的 gspread。例如,与 Google Colab 捆绑在一起的那个已经过时了:!pip install --upgrade gspread这gs.csv_import为我修复了错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python