1.xslx模板数据
2.汉字转音节代码段
from pypinyin import pinyin, STYLE_NORMAL
import openpyxl
import os
import time
def get_yinjie(word):
pass
tmp = ''
yinjie_list = pinyin(word, style=STYLE_NORMAL)
for i in yinjie_list:
tmp += ''.join(i)
return tmp
3.读取xlsx表格汉字并转成音节写入表格
from pypinyin import pinyin, STYLE_NORMAL
import openpyxl
import os
import time
def get_data():
path = os.getcwd()
file_name = 'model.xlsx'
file_path = os.path.join(path, file_name)
wd = openpyxl.load_workbook(file_path)
table = wd['Sheet1']
count = 2
while 1:
cell_data = table.cell(row=count, column=1).value
if cell_data:
print(cell_data)
tmp = get_yinjie(cell_data)
print(tmp)
table['B{}'.format(count)] = tmp
else:
break
count += 1
wd.save(file_path)
4.完整代码如下:
from pypinyin import pinyin, STYLE_NORMAL
import openpyxl
import os
import time
# 汉字转音节,word传入汉字
def get_yinjie(word):
pass
tmp = ''
yinjie_list = pinyin(word, style=STYLE_NORMAL)
for i in yinjie_list:
tmp += ''.join(i)
return tmp
# 读取表格数据,并调用get_yinjie函数转换音节写入文档
def get_data():
path = os.getcwd()
file_name = 'model.xlsx'
# 拼接文档绝对路径,注意slsx表格文件与程序放在同一目录
file_path = os.path.join(path, file_name)
# 打开xlsx文件
wd = openpyxl.load_workbook(file_path)
# 打开工作簿Sheet1
table = wd['Sheet1']
# 定义读取的初始行数
count = 2
# 循环读取表格第1列数据并处理,若表格数据为空则退出
while 1:
cell_data = table.cell(row=count, column=1).value
# 表格数据为空则退出循环
if cell_data:
print(cell_data)
tmp = get_yinjie(cell_data)
print(tmp)
table['B{}'.format(count)] = tmp
else:
break
count += 1
# 保存文档
wd.save(file_path)
if __name__ == '__main__':
try:
get_data()
except Exception as e:
print(e)
time.sleep(30)
5.运行结果如下:
6.打包程序下载链接:
注:打包程序需与xlsx表格文档放于同一目录下