当前位置: 首页 > 知识库问答 >
问题:

读取 .json 文件并将统一码数据转换为 utf-8

岳浩穰
2023-03-14

我从来没有真正理解编码和解码在python中是如何工作的,我习惯于经常遇到这类问题。我必须读取一个json文件并将其某些值与其他数据进行比较。

在其中一个文件中,我有字符串BAIXA DA INSCRI\u00c7\u00c 3O ESTADUAL,它应该成为BAIXA DA INSCRICAO ESTATUAL。我正在这样读取文件:

with codecs.open(filepath, 'r') as file:
    filedata = json.loads(file.read())

然而,该字符串被读取为unicode,并表示为u'BAIXA DA INSCRI\xc7\xc3O ESTADUAL'

我如何做到这一点,以及如何在python中使用编解码器的正确方法?

共有1个答案

能远
2023-03-14

看起来您想从文本中删除任何变音符号。您可以尝试使用unicode的普通形式D(用于分解)并过滤掉高代码:

txt = u'BAIXA DA INSCRI\xc7\xc3O ESTADUAL'
txt = u''.join(i for i in unicodedata.normalize('NFD', t) if ord(i) < 128).encode('ASCII')

它应该给出(字节)字符串:

'BAIXA DA INSCRICAO ESTADUAL'
 类似资料:
  • 我用node.js生成一个utf-8编码的csv,然后在windows上双击打开它。Excel会启动,但某些特殊字符(如`、`、ü、ä、ö、ü...)无法正确显示。我想这是由于错误的编码。我保存了一个用Excel创建的新csv。我看到编码是Windows-1252。

  • 嗨,我在Python中将utf-8 json转换成unicode escape json时遇到了一些问题 我知道如何将utf-8.txt转换为unicodeescape.txt 但是,我在Python中使用json模块时遇到了上面应用的问题,如下所示 它保存得很好,但是,当涉及到json中的双引号(“)时,它会自动添加双反斜杠(\\),因此unicode-esc.json文件在调用python脚本

  • 问题内容: 我需要将文本文件转换为String,最后,我应该将其作为输入参数(类型InputStream)放入IFile.create(Eclipse)。寻找示例或方法,但仍然不知道…需要您的帮助! 只是为了测试,我确实尝试将原始文本文件转换为使用此代码编码的UTF-8 但即使以为最终的* .test.txt文件具有UTF-8编码,里面的字符也已损坏。 问题答案: 您需要使用参数指定的编码。 这也

  • 我需要将多个CSV文件(使用不同的编码)转换为UTF-8。 这是我的代码: 当我尝试运行此代码时,我得到以下错误: UnicodeDecodeError:'utf-8'编解码器无法解码位置5057的字节0xf3:无效的延续字节 有人能帮我吗?谢谢