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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
Python函数返回值实例分析
Jun 08 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
Python操作Sql Server 2008数据库的方法详解
May 17 Python
python3中zip()函数使用详解
Jun 29 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
django 类视图的使用方法详解
Jul 24 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
自学python用什么系统好
Jun 23 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
Angularjs自定义指令Directive详解
2017/05/27 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
Django实现组合搜索的方法示例
2018/01/23 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
真诚的求职信
2014/07/04 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
工作收入住址证明
2014/10/28 职场文书
对学校的意见和建议
2015/06/04 职场文书
会议营销主持词
2015/07/03 职场文书
交通安全学习心得体会
2016/01/18 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
Java中API的使用方法详情
2022/04/06 Java/Android