将字符从非“";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。你也能告诉我,我怎样才能把这个文件中的所有字符转换成英语的对等词?我现在已经更改了问题的标题。你能检查一下并告诉我该怎么做吗?对不起,但这从根本上改变了你的问题(我很确定这是一个重复的问题)。你应该把它作为一个单独的问题发布。