zoukankan      html  css  js  c++  java
  • 使用python,Excel中横坐标数字和字母相互转换

    from openpyxl.utils import get_column_letter, column_index_from_string
    
    # 根据列的数字返回字母
    print(get_column_letter(2))  # B
    # 根据字母返回列的数字
    print(column_index_from_string('D'))  # 4
    

      

    横坐标转换为数字,比如:AA转换为27
     

    def colname_to_num(colname):
        if type(colname) is not str:
            return colname
        col = 0
        power = 1
        for i in range(len(colname)-1,-1,-1):
            ch = colname[i]
            col += (ord(ch)-ord('A')+1)*power
            power *= 26
        return col

    数字转换为横坐标,比如:27转换为AA
     

    def column_to_name(colnum):
        if type(colnum) is not int:
            return colnum
        str = ''
        while(not(colnum//26 == 0 and colnum % 26 == 0)):
            temp = 25
            if(colnum % 26 == 0):
                str += chr(temp+65)
            else:
                str += chr(colnum % 26 - 1 + 65)
            colnum //= 26
        return str[::-1]
    

      

    学习网址:

    https://blog.csdn.net/weixin_44702456/article/details/89297882?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

  • 相关阅读:
    五种I/O模型
    Python socket服务
    Python 协程
    python openpyxl 简单使用
    python 文件夹压缩
    Python 多进程
    MySQL 自定义函数
    python 队列
    python 多线程、线程锁、事件
    python paramiko模块:远程连接服务器
  • 原文地址:https://www.cnblogs.com/gina11/p/14478273.html
Copyright © 2011-2022 走看看