开发需求:

将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,取汉字首字母,拼接全拼相关推荐

  1. mysql根据汉字首字母及全拼查询(主要解决生僻汉字获取错误问题,基本所有汉字都可以正确拿到首字母和全拼)

    ##粘贴复制运行即可创建这两个函数 ## 获取name字段的首字母和全拼  SELECT to_getPY(name),to_pinyin(name) FROM pingying    ##根据首字母 ...

  2. JAVA获取汉字首字母以及全拼

    使用Hutool工具类 官网链接 以下为Hutool支持的拼音库的pom坐标,你可以选择任意一个引入项目中,如果引入多个,Hutool会按照以上顺序选择第一个使用. <dependency> ...

  3. 手机通讯录java首字母排序,Android联系人按拼音排序以及按汉字首字母或全拼搜索...

    今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索联系人,但到了开发板(平台是根据android2.2改过的)上就怎么不行了呢,虽然现在还没有解决,但也是知道了问题所 ...

  4. Android联系人按拼音排序以及按汉字首字母或全拼搜索

    转:http://blog.csdn.net/csuhanyong/article/details/6120935 今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索 ...

  5. 使用pinyin4j获取汉字拼音首字母或全拼

    转载地址:http://yjck.iteye.com/blog/816107#bc2356769 pinyin4j是一个开源项目,使用它可以很容易的获取汉字的拼音,这也是我们经常需要用到的功能:下面是 ...

  6. Java汉字转拼音工具类(支持首字母和全拼)

    工具类产生是因为个人业务需求需要根据中文汉字排序,而博主又对网上回答不满意,所以才根据相关资料写了该工具类,写入博客 以备不时之需.直接上代码: Java汉字转成汉语拼音工具类,需要用到pinyin4 ...

  7. C# 获取汉字的拼音首字母和全拼(含源码)

    C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...

  8. (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]

    https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...

  9. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...

  10. 【C#】获取汉字拼音首字母和全拼

    文章目录 利用CJK统一表意符号获取首字母 获取首字母和全拼 另附sql server解决方案 来源 java的同学可以了解下pinyin4j,js可以了解ChinesePY.js 获取拼音的意义多在 ...

最新文章

  1. 【Codeforces】908B New Year and Buggy Bot(暴力+全排列)
  2. 模块化的 Windows 7
  3. 今天介绍一款强大的服务器开发工具(JRebel)
  4. 深入理解多线程(五)—— Java虚拟机的锁优化技术
  5. 如何快速查看mysql数据文件存放路径?
  6. 释放mysql ibdata1文件_释放MySQL ibdata1文件的空间
  7. oracle存储过程入门之hello world
  8. 开源 免费 java CMS - FreeCMS-信息页静态化参数 .
  9. 阿里OSS对象存储,实现图片上传进度显示ProgressListener;
  10. linux 挂载硬件设备
  11. 【VRP】基于matlab模拟退火算法求解单中心的车辆路径规划问题【含Matlab源码 1340期】
  12. 编译原理(王生源第三版)第一章学习笔记(含第一章习题)
  13. 求解不定方程 (扩展欧几里得算法)
  14. 「解析」正则化 DropPath
  15. 在鹅厂工作的广西表妹教我用Python生成会跳舞的美女~
  16. pands 画图 调整大小_关于cad画图比例,图纸比例,打印比例问题详解
  17. 丛亚平:中国财富集中度超美nbsp;贫富…
  18. ORALC常用函数(五)----STDDEV、STDDEV_POP、STDDEV_SAMP等函数
  19. edge不能打开html网页,win10自带浏览器Edge打不开网页的两种修复方法
  20. 一起来学自然语言处理----加工原料文本

热门文章

  1. springboot配置mysql数据源_SpringBoot+mysql配置两个数据源
  2. 2019世界移动通信大会--中国5G迎来高光时刻
  3. CentOS6.5--修改系统语言为中文或英文,文件夹切换语言
  4. 乒乓球比赛赛程_2020年乒乓球比赛赛事赛程表(优个网独家整理)
  5. php gd表情包,gd表情包
  6. 对于gabor变换和gabor小波变换理解与总结
  7. 八年级作文-断了的弦
  8. Java编程笔记6:接口
  9. An动画基础之元件的图形动画与按钮动画
  10. 一个高中生的编程自学经历