2020年7月17日 / 3,441次阅读 / Last Modified 2020年7月17日
excel表格
excel表格的列是是从A开始编号,行从1开始编号,A1表示一个cell,编号方式是先列后行。有时我们再遍历列的时候,需要用字母编号来索引,openpyxl.utils.get_column_letter函数正好用来干这个事情。
>>> from openpyxl.utils import get_column_letter
>>>
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(3)
'C'
>>> get_column_letter(24)
'X'
>>> get_column_letter(25)
'Y'
>>> get_column_letter(26)
'Z'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(278)
'JR'
>>> get_column_letter(2789)
'DCG'
get_column_letter参数从1开始。
下面这段代码是我在一个项目中写的,用到了get_column_letter接口:
# format
for i in range(destws.max_column):
destws.column_dimensions[get_column_letter(i+1)].width = 20
for j in range(destws.max_row):
destws[j+1][i].alignment = _align
先对列进行宽度设置,然后从列开始,对每个cell设置alignment。需要注意的是,destws[j+1][i],j是row,从1开始,而i对应的是列,反而是从0开始了。接口不同,从0还是从1开始各有不同,openpyxl是不是该把这些差异统一起来?!
-- EOF --
本文链接:https://www.pynote.net/archives/2269
©Copyright 麦新杰 Since 2019 Python笔记