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 相关文章推荐
Django自定义过滤器定义与用法示例
Mar 22 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
Python3 log10()函数简单用法
Feb 19 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
django正续或者倒序查库实例
May 19 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
python在一个范围内取随机数的简单实例
Aug 16 Python
【超详细】八大排序算法的各项比较以及各自特点
Mar 31 Python
Python自动化爬取天眼查数据的实现
Jun 15 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 V3的在线采集图文教程
2007/04/03 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
javascript中String对象的slice()方法分析
2014/12/20 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
Vue-Router的使用方法
2018/09/05 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
python制作花瓣网美女图片爬虫
2015/10/28 Python
vscode 远程调试python的方法
2017/12/01 Python
彻底搞懂Python字符编码
2018/01/23 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
Django 静态文件配置过程详解
2019/07/23 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
服装销售人员求职自我评价
2013/09/26 职场文书
企业厂长岗位职责
2013/12/17 职场文书
大学生先进事迹材料
2014/02/16 职场文书
个人授权委托书范本
2014/09/14 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
个人先进事迹材料
2014/12/29 职场文书
门球健将观后感
2015/06/16 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
MySQL系列之二 多实例配置
2021/07/02 MySQL
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL