2011-07-15 49 views
2

我正在使用xlsx Python庫來讀取XLSX文檔,但某些列數據包含特殊字符,如_x000D_。這怎麼能轉換成它的原始形式?Intepretering XLSX文檔中的特殊字符

+1

哇! 11個問題,沒有一個答案接受... – 2011-07-15 17:54:06

+0

什麼是「xlsx Python庫」?它不應該讓這些序列解碼。這是你應該向作者提出的一個錯誤。 –

+0

Duplicates http://stackoverflow.com/questions/1030522/unescape-xhhhh-xml-escape-sequences-using-python –

回答

3

如果_x000D_應該表示一個帶有十六進制代碼點的unicode字符,則可以使用正則表達式表達式來查找它們,並使用回調函數將其轉換爲適當的值。

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!"