[英]I want to get some data from different sheet of the same file python
我想获取单个文件的一些数据,但是从不同的工作表中我尝试了下面的代码,但它只给出了第一张工作表的数据
from openpyxl import load_workbook
work = load_workbook(filename=r'the name of the file.xlsx',data_only=True)
for sheet in work.sheetnames[1:len(work.sheetnames)]:
n = 3
sheet1 = work[work.sheetnames[n]]
for val in sheet1.iter_rows(min_row=9, max_row=14, min_col=6, max_col=8, values_only=True):
print(str(sheet) + " " + str(val))
n += 1
假设我们有一个 .xlsx 文件,其中包含 5 张名为sheet0, sheet1, sheet2..., sheet5
work.sheetnames
为您提供所有工作表的列表['sheet0', 'sheet1', 'sheet2', 'sheet3', ..., 'sheet5']
当您使用:
for sheet in work.sheetnames[1:len(work.sheetnames)]:
表示您将从sheet1
到sheet5
完成您的工作
之后你有:
n = 3
sheet1 = work[work.sheetnames[n]]
work.sheetnames[3]
返回字符串'sheet3'
,因此变量sheet1
在每次迭代中始终是work['sheet3']
。 我认为这就是为什么您的结果没有按您希望的方式运行的原因。
下面的代码可能可以解决这个问题。
from openpyxl import load_workbook
work = load_workbook(filename=r'the name of the file.xlsx',data_only=True)
for sheet in work.sheetnames[1:len(work.sheetnames)]:
sheet1 = work[sheet]
for val in sheet1.iter_rows(min_row=9, max_row=14, min_col=6, max_col=8, values_only=True):
print(str(sheet) + " " + str(val))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.