怎么将包含Unicode代理项对的JSON编码数据转换为字符串?

本教程将介绍如何将包含Unicode代理项对的JSON编码数据转换为字符串?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么将包含Unicode代理项对的JSON编码数据转换为字符串? 教程 第1张

问题描述

因此,我正在尝试使用Unicode指示器的数据,并将其打印为表情符号。它目前在txt中。文件,但我稍后会写入到EXCEL文件。所以不管怎样,我收到了一个错误,我不确定该怎么处理。这是我正在阅读的文本:

"Thanks @UglyGod ud83dude4f https://t.co/8zVVNtv1o6"
"RT @Rosssen: Multiculti beatdown ud83dude4f https://t.co/fhwVkjhFFC"

以下是我的代码:

sampleFile= open('tweets.txt', 'r').read()
splitFile=sampleFile.split('
')
for line in sampleFile:
 x=line.encode('utf-8')
 print(x.decode('unicode-escape'))

这是错误消息:

UnicodeDecodeError: 'unicodeescape' codec can't decode byte 0x5c in position 0:  at end of string

有什么想法吗?
这就是数据最初的生成方式。

class listener(StreamListener):

 def on_data(self, data):
  # Check for a field unique to tweets (if missing, return immediately)
  if "in_reply_to_status_id" not in data:
return
  with open("see_no_evil_monkey.csv", 'a') as saveFile:
try:
 saveFile.write(json.dumps(data) + "
")
except (BaseException, e):
 print ("failed on data", str(e))
 time.sleep(5)
  return True

 def on_error(self, status):
  print (status)

推荐答案

这就是数据最初的生成方式...saveFile.write(json.dumps(data) + "
")

您应该使用json.loads()而不是.decode('unicode-escape')来阅读JSON文本:

#!/usr/bin/env python3
import json

with open('tweets.txt', encoding='ascii') as file:
 for line in file:
  text = json.loads(line)
  print(text)

好了关于怎么将包含Unicode代理项对的JSON编码数据转换为字符串?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。