更改文本文件时出现UnicodeDecodeError

萨汉德

我正在编写一个接受文本文件并生成另一个文本文件的程序,其中:1.瑞典字母的格式正确。2.删除所有非字母的单词。3.所有大写字母均已转换为小写字母。

这是我的代码:

import string

infile = open("unigram.wfreq","r")
outfile = open("bigram.txt","w")

line = "Start"
while line != "":
    line = infile.readline()
    wordandcount = line.split()
    word = wordandcount[0]
    ##Fix å ä ö.
    ## å == √• ä == √§ ö == √∂
    if "å" in word or "ä" in word or "ö" in word:
        word = word.replace("√•","å")
        word = word.replace("√§","ä")
        word = word.replace("√∂","ö")
    if word.isalpha():
        word = word.lower()
        outfile.write(word+"\n")
    print(line)

这是我的unigram.wordfreq文件的示例:

gruppselektion 4
lating 1
Morsing 2
varuhusen 7
FULLT 8
latino 3
mammutslätten 2
föglömma 1
varuhuset 47
livsnjutningen 1
nedtoning 1

运行文件时,出现以下错误:

Traceback (most recent call last):
  File "formater.py", line 13, in <module>
    line = infile.readline()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 2732-2733: invalid continuation byte

如果查看终端输出的末尾,则会看到以下内容:

Omgångsstarten 1

nationssplittring 1

Handtvätten 1

Three 47

domherre 1

http://www.dryden.se 1

Getryggarna 1

mineraloljor 21

如果我在unigram.wordfreq文件中找到此段,则希望在Mineraloljor之后看到产生错误的单词(对吗?),但是我看到了:

Getryggarna 1
mineraloljor 21
MAYHEM 1
avvänjer 1
tilltrasslad 1
EUROPEISKT 1

紧随其后的mineraloljorMAYHEM我不明白为什么这个词会引起错误,这没什么不同!

如何解决此错误并继续格式化整个文件?

萨汉德

因此,我找到了解决此问题的简单方法。我打开了带有崇高文字2的wfreq文件,可以在其中使用utf-8编码保存它。这样就完全解决了瑞典字母的问题。我也将扩展名更改为.txt。之后,我再次运行python代码(更改了文件名并删除了部分内容),并且运行良好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

读取文本文件时出现UnicodeDecodeError

在使用perl重命名文本文件时,在文本文件末尾出现问号

读取文本文件时出现Clojure异常

尝试解析对象的文本文件时出现NumberFormatException

在 Python 中连接文本文件时出现 UnicodeEncodeError

写入文本文件时出现奇怪的空字符

计数文本文件的行数时出现问题

解析文本文件时出现异常行为

文本文件内容更改事件

更改文本文件编码

更改文本文件的内容

从Python中的文本文件中读取文本时出现格式问题?

读取多个文本文件时(或执行两次时,free()出现问题?)

写入文本文件时出现错误文件模式错误

尝试打开文本文件时出现“文件已打开”

打开文本文件时出现“ OSError:[Errno 36]文件名太长”

读取文本文件时,如何解决此cp950“非法多字节序列” UnicodeDecodeError?

当我用ini文件更改文本文件时,程序无法正常工作,对吗?

使用python将文本文件内容转换为csv格式时出现问题

使用ObjectOutputStream将我的对象写入文本文件时出现无法读取的字符

将列表列表导入文本文件时出现问题

在C#中写入文本文件时出现IoException

当我尝试将整数的文本文件读取为int []时,出现NumberFormatException

替换文本文件中的单个字符时出现意外结果

npm安装时出现错误“ ETXTBSY:文本文件正忙”

在 JQuery 中获取文本文件内容时出现解析错误

尝试创建文本文件时出现参数Null异常错误

使用PHP解析文本文件时出现问题

从资产读取文本文件时出现问题(xamarin)