55662


pykakasiを用いて、漢字をひらがなに置き換えをしようとしています。  
また、この文字列には、特殊な文字が一部含まれています。

Python3.6ではこのままでも問題がなかったのですが、  
Python3.7ではKeyErrorとして止まってしまうようになりました。

3.7の場合はどのような対応をすれば良いでしょうか？

記述事例としては以下となります。

[code]

    def text_convert():
    
        text = "文字列置き換え"
    
        from pykakasi import kakasi
        kakasi = kakasi()
        kakasi.setMode("J", "H")
        convert = kakasi.getConverter()
    
        text = convert.do(text)
        print(text)
    
    
    if __name__ == "__main__":
        text_convert()
    
[/code]

エラーとしては以下の内容です。

[code]

    KeyError: b'e098'
    
[/code]

ご教示いただけるとありがたいです。


CC BY-SA 4.0
2019-03-24T09:42:28.050
53689
2022-08-28T07:52:56.260
2022-08-28T07:52:56.260
3060
29652
question
python python3 pykakasi
pykakasiで文字列置き換えの際にKeyErrorが発生する


コメントしたように [KeyError with specific character · Issue #68 ·
miurahr/pykakasi](https://github.com/miurahr/pykakasi/issues/68)
というIssueを作成し、一旦推移を見守っておりましたが、2019年6月6日にこれを修正するコミットが行われ、先述のIssueはクローズされました。

[Fix #68 ·
miurahr/pykakasi@3d92897](https://github.com/miurahr/pykakasi/commit/3d928973311c8fefbf585aa08c06b3e702052645)

という訳で、最新版（下記のv0.95）で確認したところ、無事記載されたコードは正しく動きました。

[Release v0.95: README: fix azure-pipelines badge ·
miurahr/pykakasi](https://github.com/miurahr/pykakasi/releases/tag/v0.95)

という訳で、本質問に対する回答としては **v0.95以上にアップデートする** となります。


CC BY-SA 4.0
2019-06-10T01:50:35.843
55662
2019-06-10T02:52:01.410
2019-06-10T02:52:01.410
29826
29826
53689
answer