xlsx格式表格汉字批量转音节,不带声调(python)

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表格文档放于同一目录下

https://download.csdn.net/download/lx_1314/86400160

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值