最近刚学openpyxl,练习代码时发现一次性读取多个单元格数据时比较麻烦,代码的可读性往往不高,查了网上的中文资料也不没找到什么好的解决方案,于是自己模仿array的写法,写了个简单的函数提取多个单元格内容到一个list中。
def sheet_list(sheet,minrow=1,maxrow=sheet.max_row,mincol=1,maxcol=sheet.max_column):
#输入工作表和需要截取的范围(用数字表示)
list0=[]
for row in sheet.iter_rows(min_row=minrow,max_row=maxrow,min_col=mincol,max_col=maxcol):
list1=[]
for cell in row:
list1.append(cell.value)
list0.append(list1)
return list0
sheet_list(sheet)
Out[79]:
[['name', 'physics', 'python', 'math', 'english', None],
['Google', 100, 100, 25, 12, None],
['Facebook', 45, 54, 44, 88, None],
['Twitter', 54, 76, 13, 91, None],
['Yahoo', 54, 452, None, 100, None],
[None, None, None, None, None, 111]]
sheet_list(sheet,2,4,2,4)
Out[80]: [[100, 100, 25], [45, 54, 44], [54, 76, 13]]