因此,我将一些数据刮成JSON文件格式,但是保存的数据中有一些不需要的字符,例如:
"quote_text":“我们创造的世界是我们思考的过程。它不能改变我们的思维。\u201d”,“作者”:“爱因斯坦”,“标签”:[“变化”,“深思”,“思考”,“世界”。)
那么,如何从python文件中删除这些\u201c类型字符
发布于 2021-06-30 18:45:57
让我们假设字典为d,正如我所看到的,有不同的unicode字符,如\u201c,\u201d。如果您想一次删除所有Unicode字符,您可以这样做:
一行代码:
d['quote_text'].encode("ascii", "ignore").decode('utf-8')详细解释:
下面一行代码删除所有unicode字符,并返回以字节为单位的值。
remov_unicode_char = d['quote_text'].encode("ascii", "ignore")现在,为了转换成字符串,您可以对其进行解码。
convert_str = remov_unicode_char.decode("utf-8")现在,您可以通过打印结果来检查结果。
print(convert_str)输出:
The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.发布于 2021-06-30 18:14:01
替换方法:
如果只有一个或两个字符要删除,我建议您使用字符串.replace()方法:
一个例子可以放在quote_text键上
your_dict['quote_text'].replace('\u201c','')Regex:
如果您正在与多个字符进行斗争,我建议您深入Regex。
更多:
如果您希望将您的函数应用于整个字典值,您可以使用dict理解:
d2 = dict((k, f(v)) for k, v in d1.items())d1是您的原始字典,f是您的函数。
在我们的例子中,应该是:
d2 = dict((k, v.replace('\u201c','')) for k, v in d1.items())发布于 2021-06-30 18:23:40
如果要删除多个字符,可以使用列表指示要删除哪些字母:
text = '{ "work": "\u201cfun\u201c", "foo": ["bar", "baz"] }'
remove_chars = ['u201c', 'b', 'f']
new_text = ''.join([ch for ch in text if ch not in remove_chars])若要替换不需要的字符,请创建一个字典来保存替换,然后进行更改:
subs = {
'\u201c': "'",
'z': 't'
}
text = '{ "work": "\u201cfun\u201c", "foo": ["bar", "baz"] }'
letter_list = [(subs[ch] if ch in subs else ch) for ch in text]
new_text = ''.join(letter_list)https://stackoverflow.com/questions/68199664
复制相似问题