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常见异常分类与处理方法
Jun 04 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
基于python 取余问题(%)详解
Jun 03 Python
python合并多个excel文件的示例
Sep 23 Python
Python中random模块常用方法的使用教程
Oct 04 Python
基于OpenCV的路面质量检测的实现
Nov 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
php 图像函数大举例(非原创)
2009/06/20 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
JS 统计时间
2021/03/09 Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
Python字符串处理实现单词反转
2017/06/14 Python
python实现用户答题功能
2018/01/17 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
金融专业个人求职信
2013/09/22 职场文书
财政局长自荐信范文
2013/12/22 职场文书
大学应届生的自我评价
2014/03/06 职场文书
美术学专业求职信
2014/07/23 职场文书
大专护理专业自荐信
2015/03/25 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
初中语文教学随笔
2015/08/15 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书