使用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
浙公网安备 33010602011771号