日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
實(shí)用小技巧,Python一秒將全部中文姓名轉(zhuǎn)為拼音!

 有時(shí)在處理文件時(shí)候,我們需要將中文姓名轉(zhuǎn)換為拼音,或者是轉(zhuǎn)換為拼音首字母,本文將介紹三種Python實(shí)現(xiàn)的方法,最后給一個(gè)批量操作的代碼案例!

創(chuàng)新互聯(lián)專(zhuān)注于永嘉網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供永嘉營(yíng)銷(xiāo)型網(wǎng)站建設(shè),永嘉網(wǎng)站制作、永嘉網(wǎng)頁(yè)設(shè)計(jì)、永嘉網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造永嘉網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供永嘉網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

一、xpinyin

開(kāi)門(mén)見(jiàn)山,Python中文字轉(zhuǎn)拼音可以使用xpinyin,直接使用pip安裝即可

 
 
 
 
  1. pip install xpinyin -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 

接著導(dǎo)入xpinyin下的 Pinyin 方法如下

 
 
 
 
  1. from xpinyin import Pinyin 

首先試試中文名轉(zhuǎn)拼音,

 
 
 
 
  1. p = Pinyin() 
  2. result1 = p.get_pinyin('葉伏天') 
  3. result1 

結(jié)果如下:

 
 
 
 
  1. 'ye-fu-tian' 

tone_marks可以顯示聲調(diào)

 
 
 
 
  1. result2 = p.get_pinyin('葉伏天', tone_marks='marks') 

結(jié)果如下:

 
 
 
 
  1. 'yè-fú-tiān' 

去掉空格

 
 
 
 
  1. s = result1.split('-') 
  2. result3 = s[0].capitalize() + ' ' + ''.join(s[1:]).capitalize() 
  3. result3 
  4.  
  5. 結(jié)果如下: 
  6. 'Ye Futian' 

有時(shí)需要中文名轉(zhuǎn)拼音首字母,也很簡(jiǎn)單

二、pypinyin

另一種方法是使用pypinyin,安裝同樣可以使用pip

 
 
 
 
  1. # 安裝 
  2. pip install pypinyin -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 

直接導(dǎo)入就行

 
 
 
 
  1. import pypinyin 

再來(lái)看看中文名轉(zhuǎn)拼音的實(shí)現(xiàn)辦法

 
 
 
 
  1. result1 = pypinyin.pinyin('葉庭云', style=pypinyin.NORMAL) 
  2. result1 

結(jié)果如下:

 
 
 
 
  1. [['ye'], ['ting'], ['yun']] 

啟用多音節(jié)來(lái)實(shí)現(xiàn)聲調(diào)

 
 
 
 
  1. result2 = pypinyin.pinyin('葉庭云', heteronym=True) 
  2. result2 

結(jié)果如下:

 
 
 
 
  1. [['yè', 'xié'], ['tíng'], ['yún']] 

因?yàn)榉祷氐氖且粋€(gè)嵌套的list,所以需要簡(jiǎn)單調(diào)整一下

 
 
 
 
  1. result_ = [i[0] for i in result1] 
  2. result3 = result_[0].capitalize() + ' ' + ''.join(result_[1:]).capitalize() 
  3. result3 

結(jié)果如下:

 
 
 
 
  1. 'Ye Tingyun' 

啟用多音字模式時(shí),竟然發(fā)現(xiàn) ‘葉’ 也是多音字,查詢(xún)了資料發(fā)現(xiàn)確實(shí)是這樣,漲知識(shí)啦!

下面是中文名轉(zhuǎn)拼音首字母的方法

三、snownlp

最后一種辦法是使用snownlp,同樣的pip安裝與導(dǎo)入如下:

 
 
 
 
  1. # 安裝 
  2. pip install snownlp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 
  3. # 導(dǎo)入 
  4. from snownlp import SnowNLP 

中文名轉(zhuǎn)拼音

 
 
 
 
  1. s = SnowNLP('葉庭云') 
  2. s.pinyin 

結(jié)果如下:

 
 
 
 
  1. ['ye', 'ting', 'yun'] 

將list轉(zhuǎn)為字符串

 
 
 
 
  1. result4 = s.pinyin[0].capitalize() + ' ' + ''.join(s.pinyin[1:]).capitalize() 
  2. result4 

結(jié)果如下:

 
 
 
 
  1. 'Ye Tingyun' 

最后是中文名轉(zhuǎn)拼音首字母

四、批量將中文名轉(zhuǎn)換成拼音

現(xiàn)在,掌握了基本使用后,我們就能利用批量操作來(lái)解放雙手

 
 
 
 
  1. import pypinyin 
  2. import pandas as pd 
  3.  
  4. df = pd.read_excel('學(xué)生名單_test.xls') 
  5. df.head() 

先導(dǎo)入一份學(xué)生名單如下

下面是使用pypinyin批量將全部學(xué)生的中文姓名轉(zhuǎn)換為拼音

 
 
 
 
  1. pinyin_name = [] 
  2. first_pinyin = [] 
  3. for i in df['姓名']: 
  4.     result = pypinyin.pinyin(i, style=pypinyin.NORMAL) 
  5.     result_ = [i[0] for i in result] 
  6.     result2 = result_[0].capitalize() + ' ' + ''.join(result_[1:]).capitalize() 
  7.     result3 = ''.join([i[0].upper() for i in result_]) 
  8.     print(result2, i, sep=' ') 
  9.     pinyin_name.append(result2) 
  10.     first_pinyin.append(result3) 
  11.      
  12. df['英文名'] = pinyin_name 
  13. df['拼音首字母'] = first_pinyin 
  14. df.head() 

或者是轉(zhuǎn)換為拼音首字母,運(yùn)行結(jié)果如下:


本文標(biāo)題:實(shí)用小技巧,Python一秒將全部中文姓名轉(zhuǎn)為拼音!
URL網(wǎng)址:http://www.5511xx.com/article/djdcjdh.html