簡體   English   中英

Python - Slate3k 在安裝 pdfminer 后給我一個類型錯誤

[英]Python - Slate3k Giving me an type error after pdfminer install

我在 windows 10 上的Python 3.8.3上。

我正在研究 pdfparser,我最初發現slate3k可以與Python 3.X一起使用。 我得到了一個基本腳本,並開始在一些 PDF 上對其進行測試。 我遇到了一些文本沒有被正確解析的問題,所以我開始研究PDFMiner

在閱讀了PDFMiner的文檔后,我決定安裝它並給它一個 go 因為它有一些對我的用例非常有用的功能。

但是,我很快就發現PDFMiner不適用於Python 3.x 我將其卸載並重新使用slate3k

當我這樣做時,我開始遇到一堆錯誤。 然后我卸載slate3k並重新安裝,希望能修復它。 仍然有錯誤。 我重新安裝了PDFMiner並擺脫了這些錯誤,但現在我遇到了以下錯誤,我不知道下一步該做什么。

Exception has occurred: TypeError __init__() missing 1 required positional argument: 'parser'

這是代碼(請注意我沒有做太多的錯誤捕獲,它仍在進行中,我更多的是處於“概念驗證”階段):

import re, os
import slate3k as slate

# variable define
CurWkDir = os.getcwd()
tags= list()
rev= str()
FileName = str()
ProperFileName = str()
parsed = str()

# open file and create if it doesn't exist
xref = open('parsed from pdf xref.csv', 'w+')
xref.write('File Name, Rev, Tag')

for files in os.listdir(CurWkDir):

    # find pdf files
    if files.endswith('.pdf'):

        tags.clear()
        rev = ""
        FileName = ""
        ProperFileName = ""

        #extract revision, file name, create proper file name
        rev = re.findall(r'[0-9]{,2}[A-Z]{1}[0-9]{,2}',files)[0]
        FileName = re.findall(r'[A-Z]+[0-9]+-[A-Z]+-[0-9]+-[0-9]+|[A-Z]+[0-9]+-[A-Z]+-[A-Z]+[0-9]+-[0-9]+|[A-Z]+[0-9]+-[A-Z]+-[A-Z]+[0-9]+[A-Z]+-[0-9]+', files)[0]
        ProperFileName = FileName + "(" + rev[0: len(rev) - 1] + ")"

        # Parse through PDF to find tags
        fileopen = open(files, 'rb')
        print("Reading", files)
        raw = slate.PDF(fileopen)
        print("Finished reading", files)
        parsed = raw[0]
        parsedstripped = parsed.replace("\n"," ")
        rawtags = re.findall(r'[0-9]+[A-Z]+-[0-9]+|[0-9]+[A-Z]+[0-9]{1,5}|[0-9]{3}[A-Z]+[0-9]+', parsed, re.I)
        fileopen.close
        print(parsedstripped)

        for t in rawtags:

            if t not in tags:

                row = ProperFileName + "," + rev + "," + t + "\n"
                xref.write(row)
                tags.append(t)

xref.close()

錯誤出現在第 34 行raw = slate.PDF(fileopen)

對我為破壞slate3k的功能所做的任何見解表示贊賞。

謝謝,

JT

我通過查看pip show slate3k查看了對slate3k的依賴關系,我發現了它依賴的幾個程序。

我卸載slate3kpdfminer3kpdfminer ,然后重新安裝了slate3k

現在一切似乎都在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM