使用非ascii字符编码的Python字符串/字节



我需要编写一个非常简单的函数,从json文件中读取并将部分内容写回csv文件。问题是输入的json文件具有奇怪的编码格式,例如:

{
"content": "b"Comment minimiser l'impact environnemental d\xe8s la R&D des proc\xe9d\xe9s micro\xe9lectroniques."
}

我想写回

Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.

第一个问题是"b",因此内容应该作为字节数组读取,但它是作为字符串读取的。第二个问题是如何替换怪异的角色?谢谢

您可以使用这样的东西:

json_file_path = 'your_json_file.json'
with open(json_file_path, 'r', encoding='utf-8') as j:
# Remove problematic "b character
j = j.read().replace('"b\',"");
# Process json
contents = json.loads(j)
# Decode string to process correctly double backslashes
output = contents['content'].encode('utf-8').decode('unicode_escape')
print(output)
# Output
# Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.

最新更新