用python提取excel表格第一列汉字首字母到第二列

今天有个任务就是需要提取excel表格里面的汉字首字母,然后我就手动写了三个小时,结果还剩3000多行,这样下去不行啊

想了下用python能不能做到呢?

import openpyxl
from pypinyin import lazy_pinyin, Style

# 加载工作簿
workbook = openpyxl.load_workbook('hanzi.xlsx')

# 选择工作表
sheet = workbook.active

# 提取每一列汉字的拼音首字母,并将结果统一放到第二列
for column in range(1, sheet.max_column + 1):
    for row in range(2, sheet.max_row + 1):  # 从第二行开始,因为第一行是列标题  
        cell = sheet.cell(row=row, column=column)
        if cell.value:
            # 将汉字转换为拼音
            pinyin = lazy_pinyin(cell.value)
            # 提取每个拼音的第一个字母并转换为小写
            first_letters = [p[0].lower() for p in pinyin]
            # 将首字母合并为一个字符串
            merged_letters = ''.join(first_letters)
            # 将结果写入第二列的单元格
            sheet.cell(row=row, column=2).value = merged_letters

        # 保存修改后的表格
workbook.save('example_modified.xlsx')

答案是一定可以,有需要的小伙伴可以参考下

posted @ 2024-01-19 21:25  知数网络  阅读(34)  评论(0编辑  收藏  举报