我对gheets并不陌生,正在寻找一种方法将插入的数据插入到当前在python词典中的gheets中。我想分批执行此操作,以便我的Spider可以一次更新多个字段。
{'page_url': 'https://www.websiteurl.com', 'company': 'my company', 'location': 'The Netherlands',
'price_excl_vat': '30000'}
我试图建立一个json请求,但收到TypeError:无法散列的类型:'dict'。我知道这是因为数据字段采用字符串,但认为应该能够采用字典并且似乎无法找到该怎么做的方法。整天待在这里,似乎无法弄清楚我在做什么错。
batch_update_spreadsheet_request_body = {
{
"requests": [
{
"insertRange": {
"range": {
"sheetId": '12345tutu',
},
}
},
{
"pasteData": {
"data": {'page_url': 'https://www.websiteurl.com', 'company': 'my company', 'location': 'The Netherlands',
'price_excl_vat': '30000'},
}
}
]
}
}
request = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=batch_update_spreadsheet_request_body)
response = request.execute()
答案 0 :(得分:0)
您应该删除一对{}
:
batch_update_spreadsheet_request_body = {
"requests": [
{
"insertRange": {
"range": {
"sheetId": '12345tutu',
},
}
},
{
"pasteData": {
"data": {'page_url': 'https://www.websiteurl.com', 'company': 'my company', 'location': 'The Netherlands',
'price_excl_vat': '30000'},
}
}
]
}
它创建了一个包含字典的集合,这是不可能的,因为正如错误所说,集合元素必须是可哈希的,而字典则不能。