ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python openpyxl 将 Excel中的汉字 转换成拼音首字母

2022-06-02 09:32:50  阅读:183  来源: 互联网

标签:sheet openpyxl Python excel value 首字母 col row


将Excel中的汉字列,转换成拼音首字母,并保存

需要安装导入  pypinyin、openpyxl 库

# pip install pypinyin
from pypinyin import lazy_pinyin, Style
import openpyxl


def py(str_data):
    """
       获取字符串的首字母
       :param str_data: 字符串
       :return: 返回首字母缩写(大写)
       """
    p = ''.join(lazy_pinyin(str_data, style=Style.FIRST_LETTER))
    return p.upper()
    # return 首字母缩写[:-4].upper()  # 不要倒数后四位,去掉有限公司


def read_excel():
    file = "D:\\Temp\\Test.xlsx"
    # 打开excel
    excel = openpyxl.load_workbook(file)
    # 使用指定工作表
    # sheet = excel.active  # 当前激活的工作表
    sheet = excel.get_sheet_by_name('Sheet1')

    # 读取标题行
    for row in sheet.iter_rows(max_row=1):
        title_row = [cell.value for cell in row]
    print(title_row)
    # 读取指定列的数据 将第5列的汉字转成拼音后,存放到第6列中
    for col in sheet.iter_cols(min_row=1, min_col=5, max_row=None, max_col=5):
        col_value = [row.value for row in col]
        for idx, cv in enumerate(col):
            if str(cv.value) == 'None':
                # 跳过空值
                continue
            sheet.cell(row=idx + 1, column=6, value=py(cv.value))
            print('%s %s %s' % (idx, cv.value, str(cv.value) == 'None'))
    excel.save(file)
    excel.close()
    print(col_value)


if __name__ == "__main__":
    read_excel()
    # print(py("WPF 在类型为  的对象上找不到 command 属性"))
    print('done')

 

标签:sheet,openpyxl,Python,excel,value,首字母,col,row
来源: https://www.cnblogs.com/vipsoft/p/16336593.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有