首页 > 解决方案 > 如何使用 Python 将数据附加到谷歌电子表格

问题描述

问题:我有一个增量数据,我需要在每个月初附加到我的谷歌电子表格。我试过的代码:

试验 1

scope = ['https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']
#creds.json is the credentials file
credentials = ServiceAccountCredentials.from_json_keyfile_name('drd_creds.json', scope)
gd = gc.authorize(credentials)

wks = gd.open_by_key('1lONS0lTy-XXXXXXXXXXX').worksheet("worksheet_name")
set_with_dataframe(worksheet,df_adsets)

上面的代码不会附加但会覆盖电子表格。

试验二:按照将熊猫数据框附加到谷歌电子表格中给出的指导

wks = gd.open_by_key('1lONS0lTy-XXXXXXXXXXX').worksheet("worksheet_name")
existing = get_as_dataframe(wks)
updated = existing.append(df_adsets,sort=True)
set_with_dataframe(wks,updated)

问题:方法获取电子表格的所有行和列
(空的也像 NAN),当它附加数据时,会出现一个奇怪的格式,例如

1.原值:23843372759610279改为2.38E+16
2.列顺序改为字母顺序
3.此外,获取所有数据然后附加然后写回似乎是一种非常粗略的方法。

gspread 或任何其他库中是否有任何函数可以直接附加值/数据帧而不是覆盖?(我不想写单独的行,而只是从下一个空行写整个 df )。

标签: pythongoogle-sheetsspreadsheetgoogle-sheets-apigspread

解决方案


推荐阅读