无法解码Unicode

2024-05-18 21:04:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码

results = requests.get("https://www.kimonolabs.com/api/ano64pm6?apikey=9ummN7C6KMHu9aErm49ixoy2ZySmaKCm").json()
mmoga = ([x["price"] for x in results["results"]["collection1"]])
print mmoga

这将输出以下内容:

^{pr2}$

然后,我尝试使用以下代码删除所有字母:

while i< len(mmoga):
mmoga[i] = mmoga[i].translate(None, 'absdefghijklmnopqrstuvwxyz;&£$')
i+=1

这将给出错误消息

 translate() takes exactly one argument (2 given)

通过一些搜索,我认为这是由于Unicode没有被解码,但我对Python非常陌生,我找到的所有解决方案都是在python3中找到的。在


Tags: 代码httpscomapijsongetwwwrequests
1条回答
网友
1楼 · 发布于 2024-05-18 21:04:47

您成功地解码了内容,但是\xa3\xa0字符可能会使您感到困惑。这些只是U+00A3 POUND SIGNU+00A0 NO-BREAK SPACE字符,但是Python只在unicode字符串表示中包含ASCII字符,其余字符在这里显示为转义序列。在

单独打印其中一个值:

>>> print u'\xa3\xa04.03'
£ 4.03

unicode.translate()方法的工作原理与str.translate不同。要删除字符,请将它们作为映射到None的字典放入第一个参数中。在

我会在这里使用str.strip()

^{pr2}$

相关问题 更多 >

    热门问题