df2gspread缺失upload属性无法上传Pandas DataFrame至谷歌表格,求解决方案
df2gspread找不到upload属性的解决办法
问题根源
df2gspread的API在版本迭代中做了结构调整,你参考的旧教程里的df2gspread.df2gspread.upload调用路径已经废弃。
具体解决步骤
先确认当前版本
执行命令查看已安装的df2gspread版本:pip show df2gspread若版本为1.0及以上,必须使用新的API调用方式。
使用新版API上传DataFrame
有两种常用方式:- 直接调用
upload函数import pandas as pd from df2gspread import upload from google.oauth2.service_account import Credentials # 加载谷歌服务账号凭据 creds = Credentials.from_service_account_file('你的凭据文件.json') # 构造测试DataFrame df = pd.DataFrame({'列1': [1,2,3], '列2': ['a','b','c']}) # 上传到指定谷歌表格 upload(df, spreadsheet='你的表格ID', sheet='Sheet1', credentials=creds) - 用
Spread类实现更灵活的操作import pandas as pd from df2gspread import Spread from google.oauth2.service_account import Credentials creds = Credentials.from_service_account_file('你的凭据文件.json') df = pd.DataFrame({'列1': [1,2,3], '列2': ['a','b','c']}) # 初始化表格对象 spread = Spread('你的表格ID', credentials=creds) # 上传DataFrame,replace=True表示覆盖原有工作表内容 spread.df_to_sheet(df, sheet='Sheet1', replace=True)
- 直接调用
强制使用旧版(不推荐)
如果你非要贴合旧教程的写法,可以回退到对应版本,比如:pip install df2gspread==0.5.0
内容的提问来源于stack exchange,提问作者Aki
相关产品推荐
相关产品推荐

