excel列名数字字母转换

    xiaoxiao2021-11-07  121

    转自:http://blog.csdn.net/zxncvb/article/details/8899777

    有的时候操作excel的时候需要把数字转为excel的列名,例如:

    0-A

    1-B

    2-C

    25-Z

    26-AA

    27-AB

    #!/usr/local/bin/python # -*- coding: utf8 -*- ''' Created on 2016年11月18日 @author: PaoloLiu ''' def colname_to_num(colname): if type(colname) is not str: return colname col = 0 power = 1 # print len(colname) for i in xrange(len(colname) - 1, -1, -1): ch = colname[i] # print ch col += (ord(ch) - ord('A') + 1 ) * power power *= 26 # print col-1 return col - 1 def colnum_to_name(colnum): if type(colnum) != int: return colnum if colnum > 25: ch1 = chr(colnum % 26 + 65) ch2 = chr(colnum / 26 + 64) # print ch2+ch1 return ch2 + ch1 else: # print chr(colnum % 26 + 65) return chr(colnum % 26 + 65) if __name__ == '__main__': pass print colname_to_num('AZ') print colnum_to_name(27)

    转载请注明原文地址: https://ju.6miu.com/read-678083.html

    最新回复(0)