zoukankan      html  css  js  c++  java
  • 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']]
    
  • 相关阅读:
    设计模式系列
    Python3 系列之 可变参数和关键字参数
    设计模式系列
    【HANA系列】SAP HANA ODBC error due to mismatch of version
    【FICO系列】SAP FICO FS00修改科目为未清项目管理
    【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍
    【HANA系列】SAP HANA SQL获取当前日期加若干天后的日期
    【HANA系列】SAP HANA SQL获取本周的周一
    【HANA系列】SAP HANA SQL获取当前日期
    【HANA系列】SAP HANA SQL获取当前日期最后一天
  • 原文地址:https://www.cnblogs.com/zhenzi0322/p/14291372.html
Copyright © 2011-2022 走看看