如何在python 3中解析excel文档中的文本?

时间:2015-01-05 21:52:42

标签: python python-3.x

我有一个带有几个重音字符的csv,包括国名。我正在使用具有指定编码和方言的csv阅读器来解析它,但它并没有很好地处理重音。

p = re.compile('(?<=n).*?(?=,)')
with open('/file.csv', 'rt', encoding='cp1252') as csvFile:
    reader = csv.reader(csvFile, dialect='excel')
    next(csvFile)
    for row in reader:
        print(row[0])
        accented_words = p.findall(row[8])[0].strip()
        print(accented_words)

p是一个正则表达式,可以删除一些重音字符。它给我的结果像'C™ted'Ivoire'。如何通过这个并保留重音字符?

1 个答案:

答案 0 :(得分:1)

解析在Python 3中使用excel方言的csv文件的正确方法:

with open('/file.csv', newline='', encoding=correct_encoding) as file:
    reader = csv.reader(file)

您的问题可能是错误的输入字符编码:

>>> print(u'Côte d’Ivoire'.encode('utf-8').decode('cp1252'))
Côte d’Ivoire

该示例显示了如果将utf-8数据解码为cp1252会发生什么。