Python生成Excel列标题(A~ZZ)

Python生成Excel列标题(A~ZZ)


Python语言操作Excel表时,经常需要按列名进行写入操作,但我们往往使用的是列索引值,还需要转换才能append。所以在正面记录下自己的方法备忘。

#!/usr/bin/env python3

import string


def getColumnName(columnIndex):
    ret = ''
    index = columnIndex - 1

    if 0 <= index < 26:
        ret = string.ascii_uppercase[index]
    elif 26 <= index < 27 * 26:
        i = index // 26
        head = string.ascii_uppercase[i - 1]
        i = index % 26
        nail = string.ascii_uppercase[i]
        ret = head + nail
    else:
        ret = None
    return ret


def main():
    a = [1, 25, 26, 27, 52, 53, 72, 73, 27 * 26 + 1]
    for i in a:
        print(f"{i}={getColumnName(i)}")


if __name__ == '__main__':
    main()

运行结果如下:

1=A
25=Y
26=Z
27=AA
52=AZ
53=BA
72=BT
73=BU
703=None

后续再考虑扩展重构,可支持到ZZZ,ZZZZ……

上一篇:.NET Web项目Excel导入与导出


下一篇:打印treemap红黑树结构-做个记录