前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python处理单元格将中文姓名转为英文拼音(小写,去空格)

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

作者头像
收心
发布2023-11-24 09:44:11
3023
发布2023-11-24 09:44:11
举报
文章被收录于专栏:Java实战博客Java实战博客

本脚本将读取一个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博客搜索:标题关键字。以获取全部资料 ❤

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档