Python处理单元格将中文姓名转为英文拼音(小写,去空格)

2023-11-24 09:44:11 浏览数 (2)

本脚本将读取一个excel文件的某个sheet页,写入到另一个文件中。处理的逻辑是:读取B4单元格以及其下面的单元格,将其转拼音、转小写、去空格后,保存在I4列!

代码语言:javascript复制
import openpyxl
from pypinyin import lazy_pinyin

# 定义文件路径和保存路径
filePath = '/Users/zanglikun/.wxwork_local/data/1688849878936293_1970324998057184/Cache/File/2023-11/用数据.xlsx'
savePath = '/Users/zanglikun/.wxwork_local/data/1688849878936293_1970324998057184/Cache/File/2023-11/用户数据2.xlsx'

# 打开工作簿
workbook = openpyxl.load_workbook(filePath)

# 选择某个sheet
sheet = workbook['XXXsheet']

# 注意步骤X是将B4点单元格数据转成英文拼音去去空格后,放入到I4中,这一步是不能少的,否则第一个单元格,将不会被转成!
# X.1获取B4单元格的值
starting_cell_value = sheet['B4'].value
# X.2将单元格的值转换为拼音英文
pinyin_value = ''.join(lazy_pinyin(str(starting_cell_value)))
# X.3将转换后的值写入I4单元格
sheet['I4'] = pinyin_value.lower().replace(' ', '')

# 在B4从上到下开始。遍历B4 从上到下的所有单元格(此方法会导致B4单元格指向的I4单元格丢失,所以上文的X额外处理了I4)
for cell in sheet['B'][4:]:
    # 拿到单元格的value
    if cell.value:
        # 将单元格的值转换为拼音英文
        pinyin_value = ''.join(lazy_pinyin(str(cell.value)))
        # 将转换后的值写入下一列的对应单元格 column的value是A=1,B=2,如果是I列就是10
        sheet.cell(row=cell.row, column=10, value=pinyin_value.lower().replace(' ', ''))

# 保存工作簿
workbook.save(savePath)
print("拼音数据处理完成完成! >>>>  文件保存在:"   savePath)

特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com 第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤

0 人点赞