濮阳杆衣贸易有限公司

主頁 > 知識庫 > 教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音

教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音

熱門標(biāo)簽:河北防封卡電銷卡 應(yīng)電話機器人打電話違法嗎 天津電話機器人公司 電銷機器人的風(fēng)險 開封自動外呼系統(tǒng)怎么收費 地圖標(biāo)注線上如何操作 手機網(wǎng)頁嵌入地圖標(biāo)注位置 開封語音外呼系統(tǒng)代理商 400電話辦理哪種

一、前言

這里我先為大家提供一個中文網(wǎng)站,大家可以下去更深入的學(xué)習(xí)。

https://pypi.org/project/pypinyin/

pypinyin庫,主要有幾下幾個特性:

  • 智能匹配最正確的拼音;
  • 支持多音字、繁體字;
  • 支持多種不同拼音、注音風(fēng)格;

該庫屬于第三方Python庫,因此在使用之前,需要提前安裝。

pip install pypinyin

然后,導(dǎo)入該庫即可。

import pypinyin
from pypinyin import pinyin

二、pypinyin庫的使用

先來看一個最基本的例子。

from pypinyin import pinyin
pinyin("吃飯")

結(jié)果如下:

有些字,可能是多音字,再看下面這個例子。

from pypinyin import pinyin
pinyin('馮',heteronym=True)
pinyin('朝',heteronym=True)
pinyin('同',heteronym=True)

結(jié)果如下:

仔細觀察上述打印結(jié)果,生成的都是二維列表嵌套,這樣解析起來,真費勁!

能不能生成一維列表呢?

from pypinyin import lazy_pinyin
lazy_pinyin("數(shù)據(jù)分析與統(tǒng)計學(xué)之美")

結(jié)果如下:

問題又來了!

這里雖然是一維列表,但是沒有聲調(diào)了,這不尷尬了嗎?

這里面就涉及到一個風(fēng)格轉(zhuǎn)換的問題了。

from pypinyin import lazy_pinyin,Style
lazy_pinyin("數(shù)據(jù)分析與統(tǒng)計學(xué)之美",style=Style.TONE)

結(jié)果如下:

原來這里有一個Style類,供我們選擇風(fēng)格,常用的風(fēng)格有下面這14種。

#: 普通風(fēng)格,不帶聲調(diào)。如: 中國 -> ``zhong guo``
NORMAL  =  0

#: 標(biāo)準(zhǔn)聲調(diào)風(fēng)格,拼音聲調(diào)在韻母第一個字母上(默認風(fēng)格)。如: 中國 -> ``zhōng guó``
TONE  =  1

#: 聲調(diào)風(fēng)格2,即拼音聲調(diào)在各個韻母之后,用數(shù)字 [1-4] 進行表示。如: 中國 -> ``zho1ng guo2``
TONE2  =  2

#: 聲調(diào)風(fēng)格3,即拼音聲調(diào)在各個拼音之后,用數(shù)字 [1-4] 進行表示。如: 中國 -> ``zhong1 guo2``
TONE3  =  8

#: 聲母風(fēng)格,只返回各個拼音的聲母部分(注:有的拼音沒有聲母,詳見 `#27`_)。如: 中國 -> ``zh g``
INITIALS  =  3

#: 首字母風(fēng)格,只返回拼音的首字母部分。如: 中國 -> ``z g``
FIRST_LETTER  =  4

#: 韻母風(fēng)格,只返回各個拼音的韻母部分,不帶聲調(diào)。如: 中國 -> ``ong uo``
FINALS  =  5

#: 標(biāo)準(zhǔn)韻母風(fēng)格,帶聲調(diào),聲調(diào)在韻母第一個字母上。如:中國 -> ``ōng uó``
FINALS_TONE  =  6

#: 韻母風(fēng)格2,帶聲調(diào),聲調(diào)在各個韻母之后,用數(shù)字 [1-4] 進行表示。如: 中國 -> ``o1ng uo2``
FINALS_TONE2  =  7

#: 韻母風(fēng)格3,帶聲調(diào),聲調(diào)在各個拼音之后,用數(shù)字 [1-4] 進行表示。如: 中國 -> ``ong1 uo2``
FINALS_TONE3  =  9

#: 注音風(fēng)格,帶聲調(diào),陰平(第一聲)不標(biāo)。如: 中國 -> ``ㄓㄨㄥ ㄍㄨㄛˊ``
BOPOMOFO  =  10

#: 注音風(fēng)格,僅首字母。如: 中國 -> ``ㄓ ㄍ``
BOPOMOFO_FIRST  =  11

#: 漢語拼音與俄語字母對照風(fēng)格,聲調(diào)在各個拼音之后,用數(shù)字 [1-4] 進行表示。如: 中國 -> ``чжун1 го2``
CYRILLIC  =  12

#: 漢語拼音與俄語字母對照風(fēng)格,僅首字母。如: 中國 -> ``ч г``
CYRILLIC_FIRST  =  13

如果你的文字中,除了漢字,還有其它符號以及英文,會打印出怎么樣的效果呢?

from pypinyin import lazy_pinyin
lazy_pinyin('Hello,我是😀',style=Style.TONE)

結(jié)果如下:

漢字打印出來就行,英文、表情符號不用打印出來最好,應(yīng)該怎么辦呢?

這里有一個errors參數(shù)呢,來看看例子。

from pypinyin import lazy_pinyin

lazy_pinyin('Hello,我是😀',style=Style.TONE,errors='ignore')

結(jié)果如下:

如果你對pypinyin庫的返回結(jié)果不滿意,可以自定義一個庫呀!這里可以使用load_phrases_dict 方法。

我們先來看一個例子:

from pypinyin import lazy_pinyin

lazy_pinyin("黃同學(xué)",style=Style.TONE)

結(jié)果如下:

“黃同學(xué)” 的同,明明是二聲,這里成了四聲。

from pypinyin import lazy_pinyin,  load_phrases_dict

personalized_dict = {'黃同學(xué)':  [['huáng'], ['tòng'], ['xué']]}

load_phrases_dict(personalized_dict)

lazy_pinyin("黃同學(xué)",style=Style.TONE)

結(jié)果如下:

到此這篇關(guān)于教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音的文章就介紹到這了,更多相關(guān)Python pypinyin庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python 實用工具狀態(tài)機transitions
  • 簡單理解Python中基于生成器的狀態(tài)機
  • 狀態(tài)機的概念和在Python下使用狀態(tài)機的教程
  • 淺談python中常用的excel模塊庫
  • Python 中拼音庫 PyPinyin 用法詳解
  • python munch庫的使用解析
  • Python爬蟲基礎(chǔ)之selenium庫的用法總結(jié)
  • python爬蟲之selenium庫的安裝及使用教程
  • python狀態(tài)機transitions庫詳解

標(biāo)簽:宿遷 成都 六盤水 常州 江蘇 駐馬店 山東 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音》,本文關(guān)鍵詞  教你,使用,Python,pypinyin,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音》相關(guān)的同類信息!
  • 本頁收集關(guān)于教你使用Python pypinyin庫實現(xiàn)漢字轉(zhuǎn)拼音的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    杨浦区| 金塔县| 崇阳县| 延津县| 桐梓县| 剑川县| 昔阳县| 阿拉善右旗| 盘山县| 凤山市| 始兴县| 建阳市| 大丰市| 克东县| 茶陵县| 兴安县| 大庆市| 高邮市| 海宁市| 台州市| 乌海市| 壤塘县| 大洼县| 北票市| 华池县| 理塘县| 通海县| 北辰区| 平阴县| 汉寿县| 永川市| 麻城市| 松潘县| 夏津县| 常德市| 永清县| 西充县| 旌德县| 惠州市| 苍溪县| 忻州市|