亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

類型錯誤:{} 不是 JSON 可序列化的

類型錯誤:{} 不是 JSON 可序列化的

江戶川亂折騰 2021-06-04 16:27:29
我正在嘗試將 python dict 字符串寫入(附加)到 Google Sheets下面是我的代碼SCOPES = 'https://www.googleapis.com/auth/spreadsheets.readonly'SPREADSHEET_ID = 'XXX'RANGE_NAME = 'Sheet1!A2:F2'now = time.strftime('%d-%m-%Y %H:%M')def main():    store = file.Storage('token.json')    creds = store.get()    if not creds or creds.invalid:        flow = client.flow_from_clientsecrets('credentials.json', SCOPES)        creds = tools.run_flow(flow, store)    service = build('sheets', 'v4', http=creds.authorize(Http()))    request = service.spreadsheets().values().append(spreadsheetId= SPREADSHEET_ID,                                                 range= RANGE_NAME,                                                 valueInputOption='USER_ENTERED',                                                 insertDataOption='INSERT_ROWS',                                                 body= {now, data2['pagespeed_score'], data2['yslow_score'], Loadedtime, pagesize, data2['page_elements'],})    response = request.execute()    print(response)if __name__ == '__main__':    main()但我收到一個錯誤:"TypeError: {2.1982345581054688, '11-09-2018 13:08', 8.836, 109, 52, 55} is not JSON serializable"我認為這些值應該是 json 格式,但我的值是在 python 字典中。
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

這里:

 body= {now, data2['pagespeed_score'], data2['yslow_score'], Loadedtime, pagesize, data2['page_elements'],}

您正在傳遞 a set,它在 JSON 中沒有任何等效項。您必須檢查預期類型的谷歌表 API 文檔(可能dict實際上是)。


查看完整回答
反對 回復 2021-06-15
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

通過如下更改代碼解決了它,將值集更改為 dict


values = [now, pagespeed, yslow, Loadedtime, pagesize, element]

body = {'values': [values]} 



result = service.spreadsheets().values().append(

    spreadsheetId=SPREADSHEET_ID, range=RANGE_NAME,

    valueInputOption= 'USER_ENTERED', body=body).execute()


查看完整回答
反對 回復 2021-06-15
  • 2 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號