python把中文汉字转拼音,存储到excel表格

     汉字转拼音需要下载pypinyin第三方的包,百度搜索一下即可下载。

    有原始的test.xlsx原始数据如下图:

   

   

   最后新生成一个test.xls文件,带拼音的,姓名是拼音的全称,后面都是取首字母,结果如下图:

  

  经过测试,对部分多音字处理有问题,比如覃,生成Tan了。  

 

Python实现代码如下:

 1 from pypinyin import Style, lazy_pinyin
 2 from xlutils.copy import copy
 3 import xlrd
 4 
 5 
 6 def get_NamePY(str_data):
 7     rtn = ''
 8     for i in range(len(str_data)):
 9         if i == 0:
10             rtn = lazy_pinyin(str_data[i], style=Style.NORMAL)
11         else:
12             rtn += lazy_pinyin(str_data[i], style=Style.FIRST_LETTER)
13     # ['zhong','g'] join把列表拼接成字符串,capitalize()后面是把首字母转化成大写
14     rtn = ''.join(rtn)
15     return rtn
16 
17 
18 rb = xlrd.open_workbook('test.xlsx')
19 r_sheet = rb.sheet_by_index(0)
20 wb = copy(rb)
21 w_sheet = wb.get_sheet(0)
22 
23 for row_index in range(1, r_sheet.nrows):
24     row = r_sheet.row_values(row_index)
25     row[1] = get_NamePY(row[0])
26     print(row)
27     w_sheet.write(row_index, 1, row[1])
28 
29 wb.save('test.xls')

 

posted @ 2021-03-07 14:36  StudyNLP  阅读(386)  评论(0编辑  收藏  举报