Я использую регулярное выражение для управления ударными гласными и «ñ» в испанских текстах следующим образом:
WORD_REGEXP = re.compile(r"[a-zA-Záéíóúñ]+")
Хотя он отлично работает с любой строкой, когда я запускаю программу сокращения карты, она не обрабатывает должным образом испанские слова с акцентами, такими как «acción», и слово появляется в результирующем файле. Есть такая строчка
acci: 6
instead of:
acción: 6
Вот код питона. Какие-либо предложения? Спасибо.
# -*- coding: utf-8 -*-
from mrjob.job import MRJob
import re
WORD_REGEXP = re.compile(r"[a-zA-Záéíóúñ]+")
class MRWordFrequencyCount(MRJob):
def mapper(self, _, line):
words = WORD_REGEXP.findall(line)
for word in words:
yield word.lower(), 1
def reducer(self, key, values):
yield key, sum(values)
if __name__ == '__main__':
MRWordFrequencyCount.run()
WORD_REGEXP.findall(line)
дает мне['acci', 'instead', 'of', 'acción']
. Разве это не правильно? Каков ожидаемый результат? - person Casimir Crystal   schedule 06.12.2015