【发布时间】:2017-11-12 06:42:10
【问题描述】:
我在 json 文件中有一个包含 1500 个表情符号字符字典的列表,我想将它们导入到我的 python 代码中,我读取了一个文件并将其转换为 python 字典,但现在我只有 143 条记录。如何将所有表情符号导入我的代码,这是我的代码。
import sys
import ast
file = open('emojidescription.json','r').read()
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
emoji_dictionary = ast.literal_eval(file.translate(non_bmp_map))
#word = word.replaceAll(",", " ");
keys = list(emoji_dictionary["emojis"][0].keys())
values = list(emoji_dictionary["emojis"][0].values())
file_write = open('output.txt','a')
print(len(keys))
for i in range(len(keys)):
try:
content = 'word = word.replace("{0}", "{1}")'.format(keys[i],values[i][0])
except Exception as e:
content = 'word = word.replace("{0}", "{1}")'.format(keys[i],'')
#file.write()
#print(keys[i],values[i])
print(content)
file_write.close()
这是我的输入样本
{
"emojis": [
{
"????????": ["Graduate"],
"©": ["Copy right"],
"®": ["Registered"],
"????????????": ["family"],
"????❤️????????": ["love"],
"™": ["trademark"],
"????❤????": ["love"],
"⌚": ["time"],
"⌛": ["wait"],
"⭐": ["star"],
"????": ["Elephant"],
"????": ["Cat"],
"????": ["ant"],
"????": ["cock"],
"????": ["cock"],
这是我的结果,143 表示表情符号的数量。
143
word = word.replace("����", "family")
word = word.replace("Ⓜ", "")
word = word.replace("♥", "")
word = word.replace("♠", "")
word = word.replace("⌛", "wait")
【问题讨论】:
-
你能给我们一个输入样本吗?
-
谢谢。您没有使用
json模块的任何特殊原因? -
不是真的,我是python新手,对json模块没有太多经验。
-
您的 inout 示例对内部的 inages 并没有真正的帮助。但我猜 touv 没有按照 JSON 的要求正确编码/转义 unicode 字符。
-
输入样本没有任何问题(所以只是将 utf-8 解释为 unicode 以进行显示——应该如此)
标签: python unicode emoji python-unicode