Я пишу программу для нормализации столбцов csv заголовков.Может случиться, что столбец содержит не английский символ, поэтому я добавил флаг re.UNICODE
к своим вызовам re.sub
.
Мой код выглядит следующим образом:
for i in range(0, len(row)):
column = row[i]
column = column.lower()
column = re.sub('[\W]', '_', column, flags=re.IGNORECASE | re.UNICODE)
column = re.sub('[_]{2,}', '_', column, flags=re.UNICODE)
column = column.strip('_')
print column
В моем текущем сценарии у меня есть один столбец с неанглийским символом: Printer geïntegreerd
.Кодировка исходного файла - UTF-8.Я пока не записываю результат в файл, просто пишу в консоль.
Столбец преобразуется в: printer_ge�_ntegreerd
.
Когда я оставляю флаг re.UNICODE
, он преобразуется в: printer_ge_ntegreerd
.
Что я здесь не так делаю?