【问题标题】:Python 3.7 - search value from excelPython 3.7 - 从 excel 中搜索值
【发布时间】:2020-06-12 10:54:26
【问题描述】:

我是一个新的编码器(从未做过 b4),我正在学习 python(v. 3.7),我遇到了一个问题。我想上传 PDF(已转换为文本),从 excel 中提取值(完成!-已转换为文本)并在 pdf 中搜索该值(可搜索)。如果它找到该值,它将给出具有相同值的输出! 我能怎么做 ? 这里是代码:

import pandas as pd
pd.read_excel ('FDE.xlsx', index_col=0, usecols="A:D")

阅读 PDF:

import PyPDF2
read_pdf = PyPDF2.PdfFileReader(open('C:/Users/Desktop/ABC/Newpdf.pdf', 'rb'))

pdf_get_page = read_pdf.getPage(0)
pdf_get_page.extractText()

我想插入命令的按钮:

btn1 = Button(root, text ="Importa valori",padx=36, pady=10)
btn1.pack(pady=10) 

提前致谢

【问题讨论】:

  • 嘿阿尔伯特!您能否发布您迄今为止编写的代码(只是您感到困惑的部分)以及您期望它做什么?
  • 嘿来世!我已经用代码更新了我的问题。提前致谢
  • @Albert_programmer 这个问题解决了吗?
  • @AzyCrw4282 实际上没有 =(
  • 我的回答有帮助吗?还是遗漏了什么?

标签: python excel pdf


【解决方案1】:

如果我正确理解您在 PDF 中搜索相同值的目标,这也存在于 Excel 中,那么您可以采用一种简单的方法来读取文件的内容并使用 for 循环进行迭代通过它们,当它们匹配时,您可以打印它。

对于 Excel,将数据读入 List

import pandas as pd

df = pd.read_excel('filename.xlsm', sheetname=0) # can also index sheet by name or fetch all sheets
mylist = df['column name'].tolist() # set many column as you like

对于Pdf,使用split(" ") 方法将内容形成一个列表。

pdfContents = pageObj.extractText().split(" ")

然后您可以遍历嵌套的 for 循环检查匹配值

for txt in pdfContents:
  for cell_value in mylist:
      if txt == cell_value:
         print(txt) 
         # do whatever you want here

请注意,这种方法引入了o(n^2),随着数据的增长,它变得低效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多