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中的输入和输出功能进行读取和写入的教程
Apr 14 Python
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
Python中sort和sorted函数代码解析
Jan 25 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
python实现支付宝转账接口
May 07 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
Python如何对齐字符串
Jul 30 Python
Python如何进行时间处理
Aug 06 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 Python
详解Python魔法方法之描述符类
May 26 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/03 新手入门
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
动态加载iframe
2006/06/16 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
pip安装python库的方法总结
2019/08/02 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
银行反四风对照检查材料
2014/09/29 职场文书
员工工作及收入证明
2014/10/28 职场文书
汇报材料怎么写
2014/12/30 职场文书
荆州古城导游词
2015/02/06 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
使用python创建股票的时间序列可视化分析
2022/03/03 Python
golang的文件创建及读写操作
2022/04/14 Golang