正在将 pandas 数据框上传到 google 电子表格
Uploading pandas dataframe to google spreadsheet
我按照步骤 here and 但无法将 pandas 数据帧上传到 google sheets。
首先我尝试了以下代码:
import gspread
from google.oauth2.service_account import Credentials
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file('my_json_file_name.json', scopes=scope)
gc = gspread.authorize(credentials)
spreadsheet_key = '1FNMkcPz3aLCaWIbrC51lgJyuDFhe2KEixTX1lsdUjOY'
wks_name = 'Sheet1'
d2g.upload(df_qrt, spreadsheet_key, wks_name, credentials=credentials, row_names=True)
上面的代码returns 出现这样的错误消息:AttributeError: module 'df2gspread' has no attribute 'upload'
这没有意义,因为df2spread 确实有一个名为upload 的函数。
其次,我尝试通过输入列名将我的数据附加到我在 google sheet 上人工创建的数据框中。这也没有用,也没有提供任何结果。
import gspread_dataframe as gd
ws = gc.open("name_of_file").worksheet("Sheet1")
existing = gd.get_as_dataframe(ws)
updated = existing.append(df_qrt)
gd.set_with_dataframe(ws, updated)
任何帮助将不胜感激,谢谢!
您没有正确导入包。
就这样做
from df2gspread import df2gspread as d2g
当您使用
将作品sheet转换为 Dataframe 时
existing = gd.get_as_dataframe(ws)
sheet 中的所有空白列和行现在都是值为 NaN 的数据框的一部分,因此当您尝试将其附加到另一个数据框时,它不会被附加,因为列不匹配。
而是尝试将 worksheet 转换为 dataframe
existing = pd.DataFrame(ws.get_all_records())
当您在 Google 表格中导出数据帧时,数据帧的索引存储在第一列中(在我的情况下发生过,无法确定)。
如果第一列是索引,那么您可以使用
删除该列
existing.drop([''],axis=1,inplace=True)
这样就可以正常工作了。
updated = existing.append(df_qrt)
gd.set_with_dataframe(ws, updated)
我按照步骤 here and
首先我尝试了以下代码:
import gspread
from google.oauth2.service_account import Credentials
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file('my_json_file_name.json', scopes=scope)
gc = gspread.authorize(credentials)
spreadsheet_key = '1FNMkcPz3aLCaWIbrC51lgJyuDFhe2KEixTX1lsdUjOY'
wks_name = 'Sheet1'
d2g.upload(df_qrt, spreadsheet_key, wks_name, credentials=credentials, row_names=True)
上面的代码returns 出现这样的错误消息:AttributeError: module 'df2gspread' has no attribute 'upload'
这没有意义,因为df2spread 确实有一个名为upload 的函数。
其次,我尝试通过输入列名将我的数据附加到我在 google sheet 上人工创建的数据框中。这也没有用,也没有提供任何结果。
import gspread_dataframe as gd
ws = gc.open("name_of_file").worksheet("Sheet1")
existing = gd.get_as_dataframe(ws)
updated = existing.append(df_qrt)
gd.set_with_dataframe(ws, updated)
任何帮助将不胜感激,谢谢!
您没有正确导入包。
就这样做
from df2gspread import df2gspread as d2g
当您使用
将作品sheet转换为 Dataframe 时existing = gd.get_as_dataframe(ws)
sheet 中的所有空白列和行现在都是值为 NaN 的数据框的一部分,因此当您尝试将其附加到另一个数据框时,它不会被附加,因为列不匹配。 而是尝试将 worksheet 转换为 dataframe
existing = pd.DataFrame(ws.get_all_records())
当您在 Google 表格中导出数据帧时,数据帧的索引存储在第一列中(在我的情况下发生过,无法确定)。 如果第一列是索引,那么您可以使用
删除该列existing.drop([''],axis=1,inplace=True)
这样就可以正常工作了。
updated = existing.append(df_qrt)
gd.set_with_dataframe(ws, updated)