将字符从非“";utf-8“;用python将文件特征化为英语等效
我的文件中有这样的行:将字符从非“";utf-8“;用python将文件特征化为英语等效,python,encoding,iso-8859-15,Python,Encoding,Iso 8859 15,我的文件中有这样的行: M Aad 4 $ M Aadam 1 $ F Aadje 1
M Aad 4 $
M Aadam 1 $
F Aadje 1 $
M Ådne + 1 $
当我运行以下代码时
#!/usr/bin/python
# -*- coding: utf-8 -*-
import csv, unicodedata, urllib
from unidecode import unidecode
from textblob import TextBlob
with open('names.csv', 'rb') as f:
reader = csv.reader(f)
my_list = list(reader)
for a in range(len(my_list)):
name = my_list[a][0]
name = unicode(name,'ISO-8859-15')
print name
我在一些行中得到了这样的输出:
F <Z^>ydr<edeg> 1 $
F ydr 1$
在这个案例中,stackoverflow上有许多类似的问题,但是他们的解决方案不适合我的问题
如何解决此问题?听起来您的输入实际上不是UTF-8,似乎是ISO-8859-*(可能是ISO-8859-15或ISO-8859-1),0xC5是Å的ISO编码(UTF-8编码将是0xC3 0xA5)。听起来您的输入实际上不是UTF-8,似乎是ISO-8859-*(可能是ISO-8859-15或ISO-8859-1),0xC5是Å的ISO编码(UTF-8编码应该是0xC3 0xA5)。那么,@Joachim,在这种情况下我应该怎么做?你知道怎么做吗?它接受第一个输入并根据第二个输入(字符集)进行解释。你传入“utf8”作为第二个参数,我告诉你你的数据实际上不是UTF-8编码的。谢谢@Joackhim。你也能告诉我,我怎样才能把这个文件中的所有字符转换成英语的对等词?我现在已经更改了问题的标题。你能检查一下并告诉我该怎么做吗?对不起,但这从根本上改变了你的问题(我很确定这是一个重复的问题)。你应该把它作为一个单独的问题发布。那么,@Joachim,在这种情况下我该怎么办?你知道我该怎么做吗?它接受第一个输入并根据第二个输入(字符集)进行解释。你传入“utf8”作为第二个参数,我告诉你你的数据实际上不是UTF-8编码的。谢谢@Joackhim。你也能告诉我,我怎样才能把这个文件中的所有字符转换成英语的对等词?我现在已经更改了问题的标题。你能检查一下并告诉我该怎么做吗?对不起,但这从根本上改变了你的问题(我很确定这是一个重复的问题)。你应该把它作为一个单独的问题发布。