首页 > 解决方案 > 在 Python 中创建一堆单独列表的主列表

问题描述

我已经从 PDF 中抓取了文本数据,并使用 split 将其分成单独的页面,我将这些页面附加到一个名为 pages 的空列表中。但是,这会导致页面成为一个对象,每个页面只包含一大堆单独的列表对象。

我想要的是一个包含所有这些单独列表对象的主列表,这样当我检查 print(type(pages)) 时,我会得到一个列表,而不是单个列表的长打印输出。

    #  creating a pdf File object of original pdf 
    pdfFileObj = open(origFileName, 'rb')  
    # creating a pdf Reader object 
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 

    numPages = pdfReader.numPages

    for p in range(pdfReader.numPages): 

        # creating page object 
        pageObj = pdfReader.getPage(p)
        #extract txt from pageObj into unicode string object
        pages = list()
        for x in (pageObj.extractText()).split('\n'): pages.append(x)

        print(pages)

结果很长,但示例如下:

['DESCRIPTIONSULTLetter Type: PLFile Set: SHPPL20190827']
["Dear A**** P***** ,This letter is to let you know that SING DY UY will no longer provide STAR MRSA services for *******HealthPlan effective . This means that SING DY UY cannot be your provider any more through Superior. You can pick a new provider from the ******* HealthPlan network to get services.Superior will work with you to make sure you get the care you need. There is a provider in your areawho can provide services to you. That provider is JOSE BENIGNO JR. You can call them at1-***-362-2685."]
['Estimado(a) ****** *****,Le enviamos esta carta para informarle que SING DY UY dejar de ofrecer servicios de STAR MRSApara ******* HealthPlan a partir del . Esto significa que SING DY UY ya no podr ser su proveedor atravs de Superior. Para obtener servicios, puede escoger un nuevo proveedor de la red de S****** HealthPlan.Superior trabajar con usted para garantizar que reciba la atencin que necesita. Hay un proveedor ensu rea que puede ofrecerle servicios. Ese proveedor es **** BENIGNO JR. Puede comunicarse al1-432-362-2685.]

标签: pythonlistpypdf2

解决方案


您的问题不是很清楚,但是我所做的是创建了一个名为 的列表pages,并且对于我们遍历的每个页面,我们将行列表(page现在称为)添加到页面列表中。

pdfFileObj = open(origFileName, 'rb')  
pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 
numPages = pdfReader.numPages
pages = []

for p in range(pdfReader.numPages): 

    pageObj = pdfReader.getPage(p)
    page = list()
    for x in pageObj.extractText().split('\n'): 
            page.append(x)
    pages.append(page)

推荐阅读