使用Google Sheet API v4和Python中的batchUpdate在Google Sheet上编写DataFrame

时间:2019-02-19 12:38:36

标签: python google-sheets google-api

我正在尝试使用Google Sheets API v4和batchUpdate方法在Google Sheets上写入数据框的内容。

为此,我将数据框转换为列表列表,每个列表代表一行,但是出现以下错误:

TypeError: Object of type int64 is not JSON serializable

我的dataFrame包含int64和字符串类型。

#Transforming my dataframe to a list of lists
values = []
#Title line
values.append(list(orders_compact.columns))
#Adding each row
for i in range (0,len(orders_compact)):
    values.append(list(orders_compact.iloc[i]))

batch_update_values_request_body = {

    # How the input data should be interpreted.
    'value_input_option': 'USER_ENTERED',  # TODO: Update placeholder value.

    # The new values to apply to the spreadsheet.
    'data': values,  # TODO: Update placeholder value.

    # TODO: Add desired entries to the request body.
}

request = service.spreadsheets().values().batchUpdate(spreadsheetId=SPREADSHEET_ID, body=batch_update_values_request_body)
response = request.execute()

我尝试使用astype更改类型或使用.to_json方法“对”数据框进行“ jsonify”,以绕过这两个问题而没有成功。

这应该将DataFrame的全部内容写入SPREADSHEET_ID(正在测试和验证的凭据部分)中定义的电子表格中。

谢谢您的帮助!

0 个答案:

没有答案