2024-04-24 13:17:47 发布
网友
我知道我可以用这些代码读取一系列的单元格:
worksheet.cell(range="A1:J1").value
但我更喜欢用数字而不是字母来选择列,比如:
worksheet.cell(row=1,column=1:10).value
这可能吗?
你确定worksheet.cell(range="A1:J1").value是可能的吗?
使用官方文档中给出的range函数可以实现上述功能:
range
http://openpyxl.readthedocs.io/en/default/api/openpyxl.worksheet.worksheet.html
There are 2 ways to use worksheet.cell:Usage: cell(coodinate=’A15’) or cell(row=15, column=1)If coordinates are not given, then row and column must be given.
There are 2 ways to use worksheet.cell:
Usage: cell(coodinate=’A15’) or cell(row=15, column=1)
If coordinates are not given, then row and column must be given.
因此,您可以使用列表理解:
data = [worksheet.cell(row=1,column=i).value for i in range(1,11)]
您似乎想将一个区域分成几行,并将每行的单元格值存储在元组或列表中。有两种方法是干净和容易的:
假设:
ws:工作表,例如ws=wb['Sheet1']
ws=wb['Sheet1']
rng:ws中的任何范围,例如rng=ws['A1':'D10']或rng=ws['A1':'D' + str(ws.max_column)]
rng=ws['A1':'D10']
rng=ws['A1':'D' + str(ws.max_column)]
方法1:
t=tuple(rng)
这将返回一个包含每行元组的元组。因此在这个例子中,t将有10个元组,每个内部元组将有4个元素/值。
方法2:
final_list=[] for row in rng: mylist=list(row) final_list.append(mylist)
这将是几乎相同的事情,除了你会有列表而不是元组。
注意:
列表或元组的元组列表将存储cells,而不是它们的值,因此要访问它们的值,请执行以下操作:
cells
first_cell_value=t[0][0].value
ws.cell()只能返回单个单元格,因此其范围没有意义。要访问一系列的细胞,可以使用ws.iter_rows()或ws.rows或ws.columns。2.3版之前(含2.3版)ws.iter_rows()只接受Excel样式的范围表示法,但可以使用行和列偏移量来创建范围。从2.4版开始,您将能够为min_row、min_col、max_row和max_col提供完全数字(基于1的索引)值。
ws.cell()
ws.iter_rows()
ws.rows
ws.columns
min_row
min_col
max_row
max_col
你确定
worksheet.cell(range="A1:J1").value
是可能的吗?使用官方文档中给出的
range
函数可以实现上述功能:http://openpyxl.readthedocs.io/en/default/api/openpyxl.worksheet.worksheet.html
因此,您可以使用列表理解:
您似乎想将一个区域分成几行,并将每行的单元格值存储在元组或列表中。有两种方法是干净和容易的:
假设:
ws:工作表,例如
ws=wb['Sheet1']
rng:ws中的任何范围,例如
rng=ws['A1':'D10']
或rng=ws['A1':'D' + str(ws.max_column)]
方法1:
t=tuple(rng)
这将返回一个包含每行元组的元组。因此在这个例子中,t将有10个元组,每个内部元组将有4个元素/值。
方法2:
这将是几乎相同的事情,除了你会有列表而不是元组。
注意:
列表或元组的元组列表将存储
cells
,而不是它们的值,因此要访问它们的值,请执行以下操作:ws.cell()
只能返回单个单元格,因此其范围没有意义。要访问一系列的细胞,可以使用ws.iter_rows()
或ws.rows
或ws.columns
。2.3版之前(含2.3版)ws.iter_rows()
只接受Excel样式的范围表示法,但可以使用行和列偏移量来创建范围。从2.4版开始,您将能够为min_row
、min_col
、max_row
和max_col
提供完全数字(基于1的索引)值。相关问题 更多 >
编程相关推荐