Python 在两个excel工作表中搜索和查找值(xlrd到openpyxl) wrbk=xlrd.open_工作簿(“D:Book1.xlsx”) idx=0 book_1=xlrd.open_工作簿(“D:Book2.xlsx”) sh_1=书_1.按名称排列的图纸('Sheet4') i=0 对于范围内的x(sh_1.nrows): i=i+1 如果i>=sh_1.nrows: 打破 如果sh_1.单元(i,2).值: concat=sh_1.单元(i,2).值 对于范围内的y(len(wrbk.sheets()): sht=wrbk.图纸按索引(y) 对于范围内的j(短管): 对于范围内的单元格(短nrows): list=str(短单元格(单元格,j).value) 如果列表中包含(concat): 打印(sh_1.单元格(i,2.值)

Python 在两个excel工作表中搜索和查找值(xlrd到openpyxl) wrbk=xlrd.open_工作簿(“D:Book1.xlsx”) idx=0 book_1=xlrd.open_工作簿(“D:Book2.xlsx”) sh_1=书_1.按名称排列的图纸('Sheet4') i=0 对于范围内的x(sh_1.nrows): i=i+1 如果i>=sh_1.nrows: 打破 如果sh_1.单元(i,2).值: concat=sh_1.单元(i,2).值 对于范围内的y(len(wrbk.sheets()): sht=wrbk.图纸按索引(y) 对于范围内的j(短管): 对于范围内的单元格(短nrows): list=str(短单元格(单元格,j).value) 如果列表中包含(concat): 打印(sh_1.单元格(i,2.值),python,excel,openpyxl,xlrd,Python,Excel,Openpyxl,Xlrd,我使用此代码在工作簿中查找一个值,然后在另一个工作簿中搜索该值。 我使用的是xlrd,到目前为止输出还不错,但我不能用xlrd读写。我需要建议将此代码从xlrd更改为openpyxl。这定义了一个函数来进行搜索,并使用一个函数来进行“包含”匹配。更改打印以适合 从openpyxl导入加载\u工作簿 进口稀土 #打开工作簿 excel_file1='D:Book1.xlsx' wb1=加载工作簿(excel文件1)#wrbk ws1=wb1[“表1”] excel_file2='D:Book2.x

我使用此代码在工作簿中查找一个值,然后在另一个工作簿中搜索该值。

我使用的是xlrd,到目前为止输出还不错,但我不能用xlrd读写。
我需要建议将此代码从xlrd更改为openpyxl。

这定义了一个函数来进行搜索,并使用一个函数来进行“包含”匹配。更改打印以适合

从openpyxl导入加载\u工作簿
进口稀土
#打开工作簿
excel_file1='D:Book1.xlsx'
wb1=加载工作簿(excel文件1)#wrbk
ws1=wb1[“表1”]
excel_file2='D:Book2.xlsx'
wb2=加载工作簿(excel文件2)#书本#1
ws2=wb2[“Sheet4”]#sh#u 1
#fn搜索工作簿中的所有工作表
def myfind(wb,s):
对于wb.worksheet中的ws:
对于范围内的c(1,ws.max_列+1):
对于范围内的r(1,ws.max_行+1):
txt=ws.cell(r,c).value
如果txt为无:
通过
elif检索(s,txt):
打印(“找到”,s,txt,ws,r,c)
#扫描柱C
对于范围内的r(1,ws2.max_行+1):
s=ws2.cell(r,3.value)
如果s为无:
通过
其他:
印刷品(r,s)
myfind(wb1,s)

是第2册第4页上C列中要搜索的值,每个值都要在第1册的所有页中搜索。如果发现您只想打印,不更新工作表?@CDP1802是,在C列中搜索第2册第4页上的值,并在第1册的所有工作表中搜索每个值。我将在单元格(i,3)中写入一个文本,然后我必须保存工作表。在
print(“Found”,s,txt,ws,r,c)
旁边,我可以使用
ws.cell(row=r,column=4)。value='Found'
在单元格中创建一个值,下一列但具有相同行号的column 4值必须为空。
print(“Found”、s、txt、ws、r、c)
-我必须填充具有“Found”值的单元格旁边的单元格