Интерпретация специальных символов в документах XLSX - PullRequest
2 голосов
/ 15 июля 2011

Я использую библиотеку xlsx Python для чтения документа XLSX, но некоторые данные столбца содержат специальные символы, такие как _x000D_.Как это можно преобразовать в исходную форму?

1 Ответ

4 голосов
/ 16 июля 2011

Если _x000D_ должен представлять символ Юникода с шестнадцатеричной кодовой точкой, вы можете использовать выражение регулярного выражения для их поиска и функцию обратного вызова для преобразования их в соответствующее значение.

import re

input_string = "H_x00E9_llo W_x00D8_rld!"

def parse_escaped_character_match(match):
    return unichr(int(match.group(1), 16))

print re.sub("_x([0-9A-F]{4})_", parse_escaped_character_match, input_string)
# prints "Héllo WØrld!"
...