我在 Excel 工作表中有一些数据,我需要通过一个简短的 python 脚本以编程方式将其插入到 Google 工作表中。我正在使用 pygsheets 和 pandas(如果我需要的话)。我已经设置了身份验证内容,并且可以访问要在其中插入数据的工作表;这只是我遇到问题的使用 pygsheets 的实际插入。这是一些代码:
from google.oauth2 import service_account
import pygsheets
import pandas as pd
import json
# set settings file
settings_file = open("/Users/user/Desktop/settings.json", "r").read()
settings = json.loads(settings_file)
creds = settings['oauth_creds']
credentials = service_account.Credentials.from_service_account_info(creds)
scoped_credentials = credentials.with_scopes(
['https://www.googleapis.com/auth/spreadsheets']
)
# set dataframe as excel sheet (saved on Desktop)
new_data = pd.read_excel('/Users/user/Desktop/test-data.xlsx', None)
# instantiate pygsheets with credentials
gc = pygsheets.authorize(custom_credentials=scoped_credentials)
# open spreadsheet with URL
sheet_url = settings['sheet_url']
sh = gc.open_by_url(sheet_url)
# activate correct sheet
sheet_name = settings['data_sheet']
wks = sh.worksheet_by_title(sheet_name)
# empty active sheet
wks.clear()
# add dataframe to active sheet
wks.set_dataframe(new_data,(1,1))
当我运行脚本时,最后一行出现错误:AttributeError: 'OrderedDict' object has no attribute 'replace'
. 知道如何正确地将数据发送到工作表吗?另外,如果它更容易,我可以使用 CSV 来做到这一点;我也不必使用熊猫,如果没有它会更容易。任何帮助表示赞赏!