解释XLSX文档中的特殊字符

2 投票
1 回答
2038 浏览
提问于 2025-04-16 21:37

我正在使用xlsx这个Python库来读取一个XLSX文档,但有些列的数据里包含像_x000D_这样的特殊字符。我该怎么把它们转换回原来的样子呢?

1 个回答

4

如果 _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!"

撰写回答