Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换相关的知识,希望对你有一定的参考价值。
参考技术A 参考文章: [PYTHON]26进制(A-Z)与10进制互相转换Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换
Python 3 实现数字转换成Excel列名(10进制到26进制的转换函数)
背景:
最近在看一些Python爬虫的相关知识,讲爬取的一些数据写入到Excel表中,当时当列的数目不确定的情况下,如何通过遍历的方式讲爬取的数据写入到Excel中。
开发环境: Python 3 openpyxl
解决方案:Excel列名其实就是一个26进制的数,我们只需要实现26进制和10进制之间的转换就行列
代码:
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 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 #print(str) #倒序输出拼写的字符串 return str[::-1]
以上是关于Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第168题—Excel表列名称—Python实现
LeetCode第168题—Excel表列名称—Python实现
LeetCode第168题—Excel表列名称—Python实现
2021-10-21:Excel 表列序号。给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。示例 1:输入: columnTitle = “A“,