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随机生成信用卡卡号的实现方法
May 14 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
Python字符串格式化的方法(两种)
Sep 19 Python
Python生成器以及应用实例解析
Feb 08 Python
Python学生信息管理系统修改版
Mar 13 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
python list的index()和find()的实现
Nov 16 Python
Python pandas求方差和标准差的方法实例
Aug 04 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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
PHP安全性漫谈
2012/06/28 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
javaScript中的原型解析【推荐】
2016/05/05 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
详解Vue方法与事件
2017/03/09 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
Cpy和Python的效率对比
2015/03/20 Python
简单实现python爬虫功能
2015/12/31 Python
python使用str & repr转换字符串
2016/10/13 Python
深入理解Python3 内置函数大全
2017/11/23 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
求职信内容考虑哪几点
2013/10/05 职场文书
运动会入场词100字
2014/02/06 职场文书
事业单位考察材料范文
2014/12/25 职场文书
追讨欠款律师函
2015/06/24 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
Java tomcat手动配置servlet详解
2021/11/27 Java/Android