0

我的文件中有这样的行:

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                                 $

对于这种情况,stackoverflow 上有许多类似的问题,但他们的解决方案不适合我的问题。

我该如何解决这个问题?

4

1 回答 1

2

听起来您的输入实际上不是 UTF-8,它似乎是 ISO-8859-*(可能是 ISO-8859-15 或 ISO-8859-1),0xC5 是 Å 的 ISO 编码(UTF-8 编码将为 0xC3 0xA5)。

于 2016-01-14T12:53:09.197 回答