<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          實用小技巧,Python一秒將全部中文姓名轉(zhuǎn)為拼音!

          共 2496字,需瀏覽 5分鐘

           ·

          2021-02-02 09:26

          今日推文速看

          三條:用通俗成語解釋 Python 新手最容易犯的錯誤!
          四條:數(shù)據(jù)可視化為你揭露,為什么現(xiàn)在的年輕人掙錢越多反而越窮?!
          五條:2020十大最佳大數(shù)據(jù)分析工具,果斷收藏


          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺回復(fù)【大禮包】送你Python自學(xué)大禮包


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

          ? 一、xpinyin

          開門見山,Python中文字轉(zhuǎn)拼音可以使用xpinyin,直接使用pip安裝即可??

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

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

          from?xpinyin?import?Pinyin

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

          p?=?Pinyin()
          result1?=?p.get_pinyin('葉伏天')
          result1

          結(jié)果如下:

          'ye-fu-tian'

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

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

          結(jié)果如下:

          'yè-fú-tiān'

          去掉空格??

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

          結(jié)果如下:
          'Ye?Futian'

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

          ? 二、pypinyin

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

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

          直接導(dǎo)入就行??

          import?pypinyin

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

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

          結(jié)果如下:

          [['ye'],?['ting'],?['yun']]

          啟用多音節(jié)來實現(xiàn)聲調(diào)


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

          結(jié)果如下:

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

          因為返回的是一個嵌套的list,所以需要簡單調(diào)整一下

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

          結(jié)果如下:

          'Ye?Tingyun'

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

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


          ? 三、snownlp

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

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

          中文名轉(zhuǎn)拼音??

          s?=?SnowNLP('葉庭云')
          s.pinyin

          結(jié)果如下:

          ['ye',?'ting',?'yun']

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

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

          結(jié)果如下:

          'Ye?Tingyun'

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

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

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

          import?pypinyin
          import?pandas?as?pd

          df?=?pd.read_excel('學(xué)生名單_test.xls')
          df.head()

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

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

          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()

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

          -END-

          見面禮


          碼加我微信備注「三劍客」送你上圖三本Python入門電子書?


          推薦閱讀


          1. 95后程序員月薪2萬背著電腦送外賣,送單途中改Bug

          2. 重慶百架無人機集體撞樓,疑因程序?qū)戝e,程序員背鍋。。

          3. 厲害了!潘石屹Python考試首秀99分!

          4. 太贊!Python和Excel終于可以互通了


          點分享
          點收藏
          點點贊
          點在看
          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人网站在线免费观看 | 看黄色视频在线进 | 蜜臀视频网站狠狠操b | 极品少妇XXX | 青青草成人视频在线 |