将excel定位转换为数字

我是一个新的蜜蜂在python中,我试图转换一些excel坐标说A12到一个数字我怎么能分开A从12做到这一点? 或者还有其他方法吗?

谢谢

如果你正在处理Excel文件,那么值得拥有xlrd (读取), xlwt (写入)和xlutils (用于复制/过滤表格的工具等)库。 安装这些软件最简单的方法就是点击pip install xlutils然后你就可以把其他的作为依赖关系。

那么你可以使用:

 >>> import xlwt >>> xlwt.Utils.cell_to_rowcol2('A12') # Your original coords (11, 0) >>> xlwt.Utils.cell_to_rowcol2('AB31') # ex by @nooodl (30, 27) 

注意这些是从零开始的2元组( 行号列号

您也可以免费获得反向:

 >>> xlwt.Utils.rowcol_to_cell(30, 27) 'AB31' 

以及其他好东西,包括绝对的,相对的范围等等…

尝试这样的事情:

 import re def column_index(column_name): acc = 0 for c in column_name: assert 'A' <= c <= 'Z' acc = acc * 26 + (ord(c) - ord('A') + 1) return acc def cell_coords(cell): match = re.match(r'([AZ]+)(\d+)', cell) if not match: raise ValueError('Invalid cell format: ' + cell) x = column_index(match.group(1)) y = int(match.group(2)) return (x, y) assert cell_coords('AB31') == (28, 31)