【问题标题】:Encoding problem in a request in python using get method使用get方法在python中的请求中编码问题
【发布时间】:2022-07-08 00:47:17
【问题描述】:

我在 python 中向以下 URL 发出请求:

url = 'https://app.rdstation.com.br/web_api/v1/campaigns/'+str(inf_email['campaign_id'])+'/campaign_data'

请求代码是:

response = ses.request('GET', url=url)
data = response.json()
print('My data is: ',data)

在 response.json 之后,我正在显示带有打印的数据。 一些数据开始返回,但在一些对象之后发生以下错误:

My data is: 
{
   "email_subject":"Peers Consulting: �ltimos Conte�dos",
   "from_email":"mkt@peers.com.br",
   "email_name":"Duplicado de Newsletter #14",
   "email_id":9762592,
   "send_at":"2022-06-07T19:52:16Z",
   "partial_sending":false,
   "campaign_status":"finished",
   "leads_query_type":"Lead::Filter::FilterNull",
   "to_list":{
      "selected":[
         "Todos os contatos da base de Leads",
         "Clientes (est�gio no funil)",
         "News_Site",
         "VCO_Herospark",
         "Home Agile_HeroSpark"
      ],
      "except":[
         
      ]
   },
   "behavior_score":{
      "engaged":{
         "count":555,
         "rate":32.03,
         "selected":true
      },
      "indeterminate":{
         "count":281,
         "rate":16.21,
         "selected":false
      },
      "disengaged":{
         "count":695,
         "rate":40.1,
         "selected":false
      },
      "invalid":{
         "count":202,
         "rate":11.66
      }
   }
}
My data is:
{
   "email_subject":"8 de mar�o: um dia de luta e reconhecimento",
   "from_email":"comunicacao@peers.com.br",
   "email_name":"Newsletter #13",
   "email_id":9032601,
   "send_at":"2022-03-08T17:12:22Z",
   "partial_sending":false,
   "campaign_status":"finished",
   "leads_query_type":"Lead::Filter::FilterNull",
   "to_list":{
      "selected":[
         "Todos os contatos da base de Leads"
      ],
      "except":[
         
      ]
   },
   "behavior_score":{
      "engaged":{
         "count":630,
         "rate":45.32,
         "selected":true
      },
      "indeterminate":{
         "count":36,
         "rate":2.59,
         "selected":true
      },
      "disengaged":{
         "count":530,
         "rate":38.13,
         "selected":false
      },
      "invalid":{
         "count":194,
         "rate":13.96
      }
   }
}

 Traceback (most recent call last):  UnicodeEncodeError: 'charmap' codec can't encode characters in position 19-20: character maps to <undefined>

是否可以对我的 ses.request()response.json() 进行编码?我如何在python中做到这一点?

【问题讨论】:

  • 这是一个编码错误,因此是打印到您的 IDE 失败。确保配置正确

标签: python json pandas encoding


【解决方案1】:

用ascii解码json可以解决问题。

import json

data = response.json()
data = json.loads(json.dumps(data).encode('utf-8').decode('ascii','ignore'))
print(data)

【讨论】:

  • json.loads(response.content) 呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 2021-12-28
  • 2017-04-24
  • 2019-11-30
  • 1970-01-01
  • 2021-10-20
相关资源
最近更新 更多