Python之將漢語轉為拼音


Python將漢字轉為拼音的第三方庫。

一. xpinyin庫

1. 安裝

pip install xpinyin

2. 使用技巧

語法格式:get_pinyin(chars: str, splitter: str = '-',tone_marks=None, convert: str = 'lower')

解釋參數:

  • chars:需要轉換為拼音的字符串漢字。不是漢字也可以,但是不會進行轉換。
  • splitter:每個拼音間的拼接字符。
  • tone_marks:主要是漢字轉換成拼單是否需要帶上音節。需要帶上音節就加上tone_marks='numbers',還有一種是在拼音的最后返回是第幾音節的做法tone_marks='numbers'。如果加上了tone_marks='numbers'這個參數就不需要加tone_marks='numbers'了。
  • convert:拼音轉換后是否需要拼音大小寫或首字母大寫返回。默認值為lower是小寫。upper是全大寫。capitalize是首字母大寫。

注意:該庫默認是使用-號進行每個漢字的拼音區分開來的。

a. 簡單使用

from xpinyin import Pinyin

# 實例拼音轉換對象
p = Pinyin()
# 漢字進行拼音轉換
res = p.get_pinyin(u"一切皆往事")
print(res) # yi-qie-jie-wang-shi

b. 以#號進行拼音的拼接

from xpinyin import Pinyin

# 實例拼音轉換對象
p = Pinyin()
# 進行拼音轉換
res = p.get_pinyin(u"一切皆往事", splitter="#")
print(res) # yi#qie#jie#wang#shi

c. 漢字轉拼音后帶上音節

如果要轉化成帶音節的拼音,需要傳遞參數tone_marks="marks"

from xpinyin import Pinyin

# 實例拼音轉換對象
p = Pinyin()
# 進行拼音轉換
res = p.get_pinyin(u"一切皆往事", tone_marks='marks')
print(res) # yī-qiē-jiē-wǎng-shì

如果你不想要以-號進行每個拼音間的拼接的話,可以使用splitter這個參數。值為你想要進行每個拼音間拼接的字符。

如我想拼音間拼接的字符是#號,源碼如下:

from xpinyin import Pinyin

p = Pinyin()
res = p.get_pinyin(u"一切皆往事", tone_marks='marks', splitter="#")
print(res) # yī#qiē#jiē#wǎng#shì

d. 拼音全大寫

from xpinyin import Pinyin

# 實例拼音轉換對象
p = Pinyin()
# 進行拼音轉換
res = p.get_pinyin(u"一切皆往事", convert='upper')
print(res) # YI-QIE-JIE-WANG-SHI

e. 拼音首字母大寫

from xpinyin import Pinyin

# 實例拼音轉換對象
p = Pinyin()
# 進行拼音轉換
res = p.get_pinyin(u"一切皆往事", convert='capitalize')
print(res) # Yi-Qie-Jie-Wang-Shi

二. pypinyin庫

1. 安裝

pip install pypinyin

2. 使用技巧

a. 帶上音節

import pypinyin

s = pypinyin.pinyin("一切皆往事")
print(s) # [['yī'], ['qiè'], ['jiē'], ['wǎng'], ['shì']]

b. 不帶音節

import pypinyin

s = pypinyin.pinyin("一切皆往事", style=pypinyin.NORMAL)
print(s) # [['yi'], ['qie'], ['jie'], ['wang'], ['shi']]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM