Python を使用して Excel XML ドキュメントを読んでいます。é のような文字がたくさん出てきます。
さまざまなアクセント付き文字 (など) を表します。これらの文字を utf-8 に変換する簡単な方法はありますか?
Python を使用して Excel XML ドキュメントを読んでいます。é のような文字がたくさん出てきます。
さまざまなアクセント付き文字 (など) を表します。これらの文字を utf-8 に変換する簡単な方法はありますか?
HTML エンティティを Unicode に相当するものに解析したいだけの場合:
>>> import HTMLParser
>>> parser = HTMLParser.HTMLParser()
>>> parser.unescape('é')
u'\xe9'
>>> print parser.unescape('é')
é
これは Python 2.x 用です。3.x の場合、インポートはimport html.parser
このQandAと他のQandAのヒントを使用して、うまくいくように見える解決策があります。ドキュメント全体を取得し、ドキュメントからすべてのhtmlエンティティを削除します。
import re
import HTMLParser
regexp = "&.+?;"
list_of_html = re.findall(regexp, page) #finds all html entites in page
for e in list_of_html:
h = HTMLParser.HTMLParser()
unescaped = h.unescape(e) #finds the unescaped value of the html entity
page = page.replace(e, unescaped) #replaces html entity with unescaped value