横坐标转换为数字,比如: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]