python 批量将中文名转换为拼音


Posted in Python onFebruary 07, 2021

有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例!

 一、xpinyin

开门见山,Python中文字转拼音可以使用xpinyin,直接使用pip安装即可?

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

接着导入xpinyin下的 Pinyin 方法如下

from xpinyin import Pinyin

首先试试中文名转拼音,

p = Pinyin()
result1 = p.get_pinyin('叶伏天')
result1

结果如下:

'ye-fu-tian'

tone_marks可以显示声调

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

结果如下:

'yè-fú-tiān'

去掉空格?

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

结果如下:
'Ye Futian'

python 批量将中文名转换为拼音

有时需要中文名转拼音首字母,也很简单?

python 批量将中文名转换为拼音

二、pypinyin

另一种方法是使用pypinyin,安装同样可以使用pip

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

直接导入就行?

import pypinyin

再来看看中文名转拼音的实现办法

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

结果如下:

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

启用多音节来实现声调

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

结果如下:

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

因为返回的是一个嵌套的list,所以需要简单调整一下

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

结果如下:

'Ye Tingyun'

启用多音字模式时,竟然发现 ‘叶' 也是多音字,查询了资料发现确实是这样,涨知识啦!

python 批量将中文名转换为拼音

python 批量将中文名转换为拼音

下面是中文名转拼音首字母的方法

python 批量将中文名转换为拼音

三、snownlp

最后一种办法是使用snownlp,同样的pip安装与导入如下:

# 安装
pip install snownlp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# 导入
from snownlp import SnowNLP

中文名转拼音?

s = SnowNLP('叶庭云')
s.pinyin

结果如下:

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

将list转为字符串

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

结果如下:

'Ye Tingyun'

python 批量将中文名转换为拼音

最后是中文名转拼音首字母

python 批量将中文名转换为拼音

四、批量将中文名转换成拼音

现在,掌握了基本使用后,我们就能利用批量操作来解放双手

import pypinyin
import pandas as pd

df = pd.read_excel('学生名单_test.xls')
df.head()

先导入一份学生名单如下

python 批量将中文名转换为拼音

下面是使用pypinyin批量将全部学生的中文姓名转换为拼音

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

或者是转换为拼音首字母,运行结果如下:

python 批量将中文名转换为拼音

以上就是python 批量将中文名转换为拼音的详细内容,更多关于python 中文名转换为拼音的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中二维阵列的变换实例
Oct 09 Python
利用aardio给python编写图形界面
Aug 21 Python
Python 异常处理的实例详解
Sep 11 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
详解python3中zipfile模块用法
Jun 18 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
python中os.remove()用法及注意事项
Jan 31 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
4种方法python批量修改替换列表中元素
Apr 07 Python
如何用用Python将地址标记在地图上
Feb 07 #Python
python 三种方法提取pdf中的图片
Feb 07 #Python
Python 转移文件至云对象存储的方法
Feb 07 #Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 #Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 #Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 #Python
Pandas数据分析的一些常用小技巧
Feb 07 #Python
You might like
用Flash图形化数据(二)
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
从零学Python之hello world
2014/05/21 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
土木工程个人自荐信范文
2013/11/30 职场文书
写给爸爸的道歉信
2014/01/15 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
贷款担保书范本
2015/09/22 职场文书
高中团支书竞选稿
2015/11/21 职场文书
Python面向对象编程之类的概念
2021/11/01 Python
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python