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中urllib.unquote乱码的原因与解决方法
Apr 24 Python
django输出html内容的实例
May 27 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
Face++ API实现手势识别系统设计
Nov 21 Python
详解opencv Python特征检测及K-最近邻匹配
Jan 21 Python
对python判断ip是否可达的实例详解
Jan 31 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
Python first-order-model实现让照片动起来
Jun 25 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 多关键字 高亮显示实现代码
2012/04/23 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
php实现对象克隆的方法
2015/06/20 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
快速排序 php与javascript的不同之处
2011/02/22 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
wxPython 入门教程
2008/10/07 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python读取文本中的坐标方法
2018/10/14 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
学校法制宣传月活动总结
2014/07/03 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
新郎接新娘保证书
2015/05/08 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
python多线程方法详解
2022/01/18 Python