如何在OpenPyXL中使用column =数字而不是字母来读取单元格的范围?

4 python openpyxl

我知道我可以使用该代码读取单元格范围:

worksheet.cell(range="A1:J1").value
Run Code Online (Sandbox Code Playgroud)

但我更喜欢使用数字而不是字母来选择列,如下所示:

worksheet.cell(row=1,column=1:10).value
Run Code Online (Sandbox Code Playgroud)

这可能吗?

tra*_*t0r 8

你确定worksheet.cell(range="A1:J1").value可以吗?

使用range官方文档中给出的功能可以实现上述目的:

http://openpyxl.readthedocs.io/en/default/api/openpyxl.worksheet.worksheet.html

有两种方法可以使用worksheet.cell:

用法:细胞(coodinate ='A15')或细胞(row = 15,column = 1)

如果未给出坐标,则必须给出行和列.

所以,你可以使用列表理解:

data = [worksheet.cell(row=1,column=i).value for i in range(1,11)]
Run Code Online (Sandbox Code Playgroud)


Cha*_*ark 5

ws.cell()只能返回单个细胞,所以它的范围没有意义.访问一系列可以使用的细胞ws.iter_rows()ws.rowsws.columns.最高版本和版本2.3 ws.iter_rows()仅接受Excel样式范围表示法,但您可以使用行和列偏移来创建范围.与2.4版本开始,你将能够为提供全面的数字(从1开始的索引)值min_row,min_col,max_rowmax_col.