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 BeautifulSoup使用方法详解
Nov 21 Python
python函数形参用法实例分析
Aug 04 Python
python调用fortran模块
Apr 08 Python
Python实现JSON反序列化类对象的示例
Jan 31 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
Python如何转换字符串大小写
Jun 04 Python
python 调整图片亮度的示例
Dec 03 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
javascript定时器完整实例
2015/02/10 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
新手简单了解vue
2019/05/29 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Python 对象中的数据类型
2017/05/13 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
python requests证书问题解决
2019/09/05 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
QML用PathView实现轮播图
2020/06/03 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
大学生最常用的自我评价
2013/12/07 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
班级旅游计划书
2014/05/03 职场文书
群众路线调研报告范文
2014/11/03 职场文书
匿名检举信范文
2015/03/02 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
谢师宴家长致辞
2015/07/27 职场文书
三下乡活动心得体会
2016/01/23 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js