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

  • 相关阅读:
    Concurrent
    Java多线程状态切换
    Java中volatile如何保证long和double的原子性操作
    协程与线程
    线程饥饿
    线程活锁
    线程死锁
    Java Thread之start和run方法的区别
    ThreadLocal内存泄漏
    interrupt和interrupted和isInterrupted的区别
  • 原文地址:https://www.cnblogs.com/gina11/p/14478273.html
Copyright © 2011-2022 走看看