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实现的ini文件操作类分享
Nov 20 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Python正则简单实例分析
Mar 21 Python
Python正则捕获操作示例
Aug 19 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
Python多线程多进程实例对比解析
Mar 12 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
Python实现Kerberos用户的增删改查操作
Dec 14 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
php解析字符串里所有URL地址的方法
2015/04/03 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
javaScript 利用闭包模拟对象的私有属性
2011/12/29 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
解决python 无法加载downsample模型的问题
2018/10/25 Python
Python发展简史 Python来历
2019/05/14 Python
python进程和线程用法知识点总结
2019/05/28 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
运动会广播稿300字
2014/01/10 职场文书
党校学习自我鉴定
2014/02/24 职场文书
法定代表人资格证明书
2014/09/11 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2014年收银工作总结
2014/11/13 职场文书
材料采购员岗位职责
2015/04/03 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Python中基础数据类型 set集合知识点总结
2021/08/02 Python