天天看點

Python實作漢字轉換拼音

有兩個子產品都可以實作,一個是

xpinyin

子產品,還有一個是

pypinyin

子產品,

xpinyin

子產品隻是将漢字轉換為拼音字母,漢字的拼音字母是沒有音調,

pypinyin

子產品不僅将漢字轉換為拼音字母,而且漢字的拼音字母是沒有音調也都可以輸出出來!

一、

xpinyin

子產品

1、安裝 xpinyin 子產品

pip install xpinyin
           

2、基本使用

from xpinyin import Pinyin
name = '金領冠珍護405聽3'
p = Pinyin()
##轉換為小寫拼音,預設以 - 為分隔
print(p.get_pinyin(name))      #jin-ling-guan-zhen-hu-405-ting-3

#轉換為小寫拼音,指定分隔符為空
print(p.get_pinyin(name,''))    #jinlingguanzhenhu405ting3

#轉換為小寫拼音,指定分隔符為空格
print(p.get_pinyin(name,' '))    #jin ling guan zhen hu 405 ting 3

#顯示漢字的一個字母的大寫首字母
print(p.get_initial('金'))      #J

#顯示多個漢字第一個字母的大寫首字母,預設以 - 為分隔
print(p.get_initials(name))     #J-L-G-Z-H-4-0-5-T-3

#顯示多個漢字第一個字母的大寫首字母,指定分隔符為空
print(p.get_initials(name,''))     #JLGZH405T3

#顯示多個漢字第一個字母的大寫首字母,指定分隔符為空格
print(p.get_initials(name,' '))     #J L G Z H 4 0 5 T 3
           

二、

pypinyin

子產品

1、安裝 pypinyin 子產品

pip install pypinyin
           

2、基本使用

from pypinyin import pinyin as py
name = '金領冠珍護405聽3'
print(py(name))
#運作結果
[['jīn'], ['lǐng'], ['guān'], ['zhēn'], ['hù'], ['405'], ['tīng'], ['3']]

transform_result = py(name)
print(type(transform_result))
for i in transform_result:
    for k in i:
        print(k,end=' ')        
#運作結果
<class 'list'>
jīn lǐng guān zhēn hù 405 tīng 3 


########多音字########
from pypinyin import pinyin as py
print('"中"的拼音:',py('中',heteronym=True))
print('"中國"的拼音',py('中國',heteronym=True))
print('"金領冠珍護405聽3"的拼音',py('金領冠珍護405聽3',heteronym=True))
#運作結果
"中"的拼音: [['zhōng', 'zhòng']]
"中國"的拼音 [['zhōng'], ['guó']]
"金領冠珍護405聽3"的拼音 [['jīn', 'jìn'], ['lǐng'], ['guān', 'guàn'], ['zhēn'], ['hù'], ['405'], ['tīng', 'yǐn', 'yí'], ['3']]


########不帶音調的拼音########
from pypinyin import pinyin as py,lazy_pinyin as lpy, Style
print(lpy('中'))
print(lpy('中國'))
print(lpy('金領冠珍護405聽3',style=Style.TONE))  #預設為Style.NORMAL
#運作結果
['zhong']
['zhong', 'guo']
['jīn', 'lǐng', 'guān', 'zhēn', 'hù', '405', 'tīng', '3']