从请求获取的python字典(json)读取时,Pyspark数据帧损坏记录,编码问题

从请求获取的python字典(json)读取时,Pyspark数据帧损坏记录,编码问题,python,apache-spark,encoding,pyspark,python-requests,Python,Apache Spark,Encoding,Pyspark,Python Requests,我正在使用请求库进行RESTAPI调用 response=requests.get(“https://urltomaketheapicall,标头={'authorization':'bearer{0}'。格式(“7777”)},超时=5) 当我执行response.json() 我得到一个带有这些值的键 {'devices':'..iPhone\xa05S,iPhone\xa06,iPhone\xa06\xa0Plus,iPhone\xa06S'} 当我执行打印(response.encodi

我正在使用请求库进行RESTAPI调用

response=requests.get(“https://urltomaketheapicall,标头={'authorization':'bearer{0}'。格式(“7777”)},超时=5)

当我执行
response.json()

我得到一个带有这些值的键

{'devices':'..iPhone\xa05S,iPhone\xa06,iPhone\xa06\xa0Plus,iPhone\xa06S'}

当我执行
打印(response.encoding)
时,我得到
None

当我打印(键入(数据[设备])时,我得到了

如果我打印(数据[设备])我得到的是没有特殊字符的iphone5s、iphone6、iphone6plus、iphone6s

现在如果你愿意

new_dict={}
new_val = data[devices]
new_dict["devices"] = new_val
print(new_dict["devices"])
我也会在新字典中找到特殊字符

有什么想法吗

我想去掉特殊字符,因为我需要读取这些json并将其放入pyspark数据帧中,然后用这些字符获得一个


我想避免像
这样的解决方案。替换(\\xa0),”)
A0
是一个不间断的空间。它只是字符串的一部分。它只是这样打印,因为您正在转储整个dict的repr。如果您打印单个字符串,它将只打印为正确的无中断空格:

>>> print({'a': '\xa0'})
{'a': '\xa0'}
>>> print('\xa0')
 
>>>

检查我的编辑,我不能把特殊字符放在pyspark数据框架中,然后集中另一个问题。我不知道pyspark,也不知道你是否只是做错了,或者它是否就是不能处理无中断空间。
>>> print({'a': '\xa0'})
{'a': '\xa0'}
>>> print('\xa0')
 
>>>