首页 > 解决方案 > 如何处理python中的重音字符?

问题描述

我知道有很多关于它的材料,但我无法为我的问题找到解决方案。

我将这段文本写在我必须操作的 txt 文件中,等等,它包含许多重音字符。由于某种原因,我无法正确管理它们。这是我的代码:

file = open ('parsed.txt', 'w', encoding = 'latin1')
file.write('ààààà')

这工作正常。

但我也需要使这项工作正常:

with open('input.txt', 'r', encoding = 'latin1') as f:
    string = f.read()
    or_array = string.splitlines()
    new_array = []
    for line in or_array:
        new = (line[13:]).strip()
        print(new)
        new_array.append(new)
    new_string = ''
    for lin in new_array:
        new_string += lin
        new_string += ' '
    f_n = open('parsed.txt', 'w', encoding = 'latin1')
    f_n.write(new_string)

该代码有什么问题?

输入:

00:00:06.49    ciaò
00:00:20.665     Questa è una provà
00:00:44.157     èè   aa ò à ùù ù
00:00:44.157       

输出:

ciaò Questa è una provàèè   aa ò à ùù ù  

输出

谢谢你。

标签: pythonpython-3.xutf-8iso-8859-1

解决方案


如果input.txt的内容实际上在 ISO-8859-1 中,则对我有用。如果它是 UTF-8 格式,那么您会得到不正确的结果。换句话说,当我复制/粘贴您的输入时,我会得到一个内容为 UTF-8 的文件。如果我这样做了,iconv -f utf-8 -t L1 < utf8.txt > input.txt那么您的程序可以正常工作。

顺便说一句,您的程序不是惯用的 python,并且在大量输入上效率会非常低。


推荐阅读