pythonロットで中国語の名前をピンインに変換します。


ファイルを処理する時、私達は中国語の名前をピンインに変換しなければならなくて、あるいはピンインの頭文字に転換して、本文は3種類のPythonの実現の方法を紹介して、最後に1つの大量の操作のコードの実例をあげます。
 一、xpinyn
ドアを開けて山を見て、Pythonの中で文字はピンインを回転してxpinyinを使うことができて、直接pipを使ってインストールしますすぐしかしか?

pip install xpinyin -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
次にxpinynを導入するPinynの方法は以下の通りです。

from xpinyin import Pinyin
まず中国語の名前をピンインに変えてみます。

p = Pinyin()
result1 = p.get_pinyin('   ')
result1
結果は以下の通りです

'ye-fu-tian'
tone_marksは声調を表示することができる。

result2 = p.get_pinyin('   ', tone_marks='marks')
結果は以下の通りです

'yè-fú-tiān'
スペースを削除しますか

s = result1.split('-')
result3 = s[0].capitalize() + ' ' + ''.join(s[1:]).capitalize()
result3

    :
'Ye Futian'

時々中国語の名前をピンインの頭文字に変えなければなりませんが、簡単ですか?

二、pypeinyn
もう一つの方法はpypeinyinを使用して、同じようにpipを使用することができます。

#   
pip install pypinyin -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
直接導入すればいいですか

import pypinyin
更に中国語の名前を見てピンインの実現方法を回転します。

result1 = pypinyin.pinyin('   ', style=pypinyin.NORMAL)
result1
結果は以下の通りです

[['ye'], ['ting'], ['yun']]
多音節を有効にしてアクセントを実現する

result2 = pypinyin.pinyin('   ', heteronym=True)
result2
結果は以下の通りです

[['yè', 'xié'], ['tíng'], ['yún']]
入れ子のリストを返しますので、簡単に調整してください。

result_ = [i[0] for i in result1]
result3 = result_[0].capitalize() + ' ' + ''.join(result_[1:]).capitalize()
result3
結果は以下の通りです

'Ye Tingyun'
多音字モードを有効にすると、「葉」も多音字であることに気づきました。資料を調べたら、確かにそうです。知識を高めました。


次は中国語の名前をピンインの頭文字に変える方法です。

三、snownlp
最後の方法はsnownlpを使って、同じpipをインストールして導入することです。

#   
pip install snownlp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
#   
from snownlp import SnowNLP
中国語の名前はピンインを回転しますか

s = SnowNLP('   ')
s.pinyin
結果は以下の通りです

['ye', 'ting', 'yun']
リストを文字列に変換

result4 = s.pinyin[0].capitalize() + ' ' + ''.join(s.pinyin[1:]).capitalize()
result4
結果は以下の通りです

'Ye Tingyun'

最後は中国語の名前でピンインの頭文字を回転します。

四、ロットで中国語の名前をピンインに変換する
今、基本的な使い方をマスターしたら、大量操作で両手を解放します。

import pypinyin
import pandas as pd

df = pd.read_excel('    _test.xls')
df.head()
まず学生リストを導入します。

以下はpypeinyinを使って、全学生の中国語の名前をピンインに変換します。

pinyin_name = []
first_pinyin = []
for i in df['  ']:
  result = pypinyin.pinyin(i, style=pypinyin.NORMAL)
  result_ = [i[0] for i in result]
  result2 = result_[0].capitalize() + ' ' + ''.join(result_[1:]).capitalize()
  result3 = ''.join([i[0].upper() for i in result_])
  print(result2, i, sep=' ')
  pinyin_name.append(result2)
  first_pinyin.append(result3)
  
df['   '] = pinyin_name
df['     '] = first_pinyin
df.head()
或いはピンインの頭文字に変換して、運行結果は以下の通りです。

以上はpythonバッチで中国語名をピンインに変換しました。python中国語名についてはピンインに変換した資料がもっと多いです。他の関連記事に注目してください。