Python3操作EXCEL,取汉字首字母,拼接全拼
开发需求:
将EXCEL中某列特殊字符之前的汉字取首字母,特殊字符之后的汉字取全拼,然后用下划线“_”相连,写入下一列
把*******.xls中的汉字人名转成用户名,写到后面的单元格中。
例如:网络--李大海 : wl_lidahai
现场-扬帆 : xc_yangfan
蹭课_张马: ck_zhangma
#_author:'ZYB'
#data:2018/12/27
from xpinyin import Pinyin
import re
import xlrd
from xlutils import copy
def single_get_first(unicode):str1 = unicode.encode('gbk')try:ord(str1)return str1except:asc = str1[0] * 256 + str1[1] - 65536if asc >= -20319 and asc <= -20284:return 'a'if asc >= -20283 and asc <= -19776:return 'b'if asc >= -19775 and asc <= -19219:return 'c'if asc >= -19218 and asc <= -18711:return 'd'if asc >= -18710 and asc <= -18527:return 'e'if asc >= -18526 and asc <= -18240:return 'f'if asc >= -18239 and asc <= -17923:return 'g'if asc >= -17922 and asc <= -17418:return 'h'if asc >= -17417 and asc <= -16475:return 'j'if asc >= -16474 and asc <= -16213:return 'k'if asc >= -16212 and asc <= -15641:return 'l'if asc >= -15640 and asc <= -15166:return 'm'if asc >= -15165 and asc <= -14923:return 'n'if asc >= -14922 and asc <= -14915:return 'o'if asc >= -14914 and asc <= -14631:return 'p'if asc >= -14630 and asc <= -14150:return 'q'if asc >= -14149 and asc <= -14091:return 'r'if asc >= -14090 and asc <= -13119:return 's'if asc >= -13118 and asc <= -12839:return 't'if asc >= -12838 and asc <= -12557:return 'w'if asc >= -12556 and asc <= -11848:return 'x'if asc >= -11847 and asc <= -11056:return 'y'if asc >= -11055 and asc <= -10247:return 'z'return ''
def GetFirstPinyin(string):if string == None:return Nonelst = list(string)charLst = []for l in lst:charLst.append(single_get_first(l))return ''.join(charLst)
def ChoiceHanZi(str):# 中文匹配正则chinese_pattern = '[\u4e00-\u9fa5]+'res = re.findall(chinese_pattern, str)return res
if __name__ == '__main__':book = xlrd.open_workbook('*****.xls')new_book = copy.copy(book)sheet = book.sheet_by_index(0)new_sheet = new_book.get_sheet(0) # 修改excel的时候,只能通过get_sheet()for row in range(1,sheet.nrows):res = sheet.row_values(row)[0]Li = ChoiceHanZi(res)hi = GetFirstPinyin(Li[0])+'_'+Pinyin().get_pinyin(Li[1],'')new_sheet.write(row, 1, hi)new_book.save('*****.xls')
原文链接:https://www.cnblogs.com/arraon/p/arraon.html
Python3操作EXCEL,取汉字首字母,拼接全拼相关推荐
- mysql根据汉字首字母及全拼查询(主要解决生僻汉字获取错误问题,基本所有汉字都可以正确拿到首字母和全拼)
##粘贴复制运行即可创建这两个函数 ## 获取name字段的首字母和全拼 SELECT to_getPY(name),to_pinyin(name) FROM pingying ##根据首字母 ...
- JAVA获取汉字首字母以及全拼
使用Hutool工具类 官网链接 以下为Hutool支持的拼音库的pom坐标,你可以选择任意一个引入项目中,如果引入多个,Hutool会按照以上顺序选择第一个使用. <dependency> ...
- 手机通讯录java首字母排序,Android联系人按拼音排序以及按汉字首字母或全拼搜索...
今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索联系人,但到了开发板(平台是根据android2.2改过的)上就怎么不行了呢,虽然现在还没有解决,但也是知道了问题所 ...
- Android联系人按拼音排序以及按汉字首字母或全拼搜索
转:http://blog.csdn.net/csuhanyong/article/details/6120935 今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索 ...
- 使用pinyin4j获取汉字拼音首字母或全拼
转载地址:http://yjck.iteye.com/blog/816107#bc2356769 pinyin4j是一个开源项目,使用它可以很容易的获取汉字的拼音,这也是我们经常需要用到的功能:下面是 ...
- Java汉字转拼音工具类(支持首字母和全拼)
工具类产生是因为个人业务需求需要根据中文汉字排序,而博主又对网上回答不满意,所以才根据相关资料写了该工具类,写入博客 以备不时之需.直接上代码: Java汉字转成汉语拼音工具类,需要用到pinyin4 ...
- C# 获取汉字的拼音首字母和全拼(含源码)
C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...
- (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]
https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...
- 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...
- 【C#】获取汉字拼音首字母和全拼
文章目录 利用CJK统一表意符号获取首字母 获取首字母和全拼 另附sql server解决方案 来源 java的同学可以了解下pinyin4j,js可以了解ChinesePY.js 获取拼音的意义多在 ...
最新文章
- 【Codeforces】908B New Year and Buggy Bot(暴力+全排列)
- 模块化的 Windows 7
- 今天介绍一款强大的服务器开发工具(JRebel)
- 深入理解多线程(五)—— Java虚拟机的锁优化技术
- 如何快速查看mysql数据文件存放路径?
- 释放mysql ibdata1文件_释放MySQL ibdata1文件的空间
- oracle存储过程入门之hello world
- 开源 免费 java CMS - FreeCMS-信息页静态化参数 .
- 阿里OSS对象存储,实现图片上传进度显示ProgressListener;
- linux 挂载硬件设备
- 【VRP】基于matlab模拟退火算法求解单中心的车辆路径规划问题【含Matlab源码 1340期】
- 编译原理(王生源第三版)第一章学习笔记(含第一章习题)
- 求解不定方程 (扩展欧几里得算法)
- 「解析」正则化 DropPath
- 在鹅厂工作的广西表妹教我用Python生成会跳舞的美女~
- pands 画图 调整大小_关于cad画图比例,图纸比例,打印比例问题详解
- 丛亚平:中国财富集中度超美nbsp;贫富…
- ORALC常用函数(五)----STDDEV、STDDEV_POP、STDDEV_SAMP等函数
- edge不能打开html网页,win10自带浏览器Edge打不开网页的两种修复方法
- 一起来学自然语言处理----加工原料文本