我正在尝试使用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(正在测试和验证的凭据部分)中定义的电子表格中。
谢谢您的帮助!