微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建列表/字典并将值从多个 PDF 文件导出到 Excel

如何解决如何创建列表/字典并将值从多个 PDF 文件导出到 Excel

我正在做一个 Pdfreader,它将从目录中的能源账单 PDF 中获取信息。程序正在按照我想要“存储”信息的方式运行和打印。

接下来的步骤是:

导出到每个帐单的值,与控制台中的打印完全一样: Console image

我尝试过列表、字典。也许方法错误,但没有一次试验成功。

欢迎任何改进和其他方法来做同样的事情,但更聪明。

关注代码

import glob

from PyPDF2 import PdfFileReader
pdf_dir = "C:/Users/gabri/Desktop/py4e/Contas EDP AAP/Leitor PDF/Faturas"
pdf_files = glob.glob("%s/*.pdf" % pdf_dir)
path = pdf_files

for file in pdf_files:
    with open(file,'rb') as f:
        pdf = PdfFileReader(f)
        page = pdf.getPage(1)
        text = page.extractText()
        text = text.split()

        for word in text:
            if word.endswith('Créditos'):
                word = word.replace("Créditos","")
                word = word.replace("mês","")
                word = word.replace("kWh","")
                energia_injetada = word
                print('Energia injetada: ',energia_injetada)

            elif word.endswith('Saldo'):
                word = word.replace("mês","")
                word = word.replace("Saldo","")
                word = word.replace("Participação","")
                energia_injetada = word
                if 'Recebido' not in word:
                    print('Energia injetada: ',energia_injetada)

            elif word.endswith('Saldo'):
                word = word.replace("Recebido","")
                word = word.replace("kWhSaldo","")
                recebidos = word
                print(recebidos)

            elif word.endswith('Participação'):
                word = word.replace("mês","")
                energia_injetada = word
                print('Saldo Atualizado: ',energia_injetada)

            elif word.startswith('Verde'):
                print('Bandeira verde')

            elif word.startswith('Vermelha:'):
                print('Bandeira vermelha')

            elif word.startswith('Amarela'):
                print('Bandeira Amarela: ')

            elif word.startswith('('):
                word = word.replace("(","")
                data_inicial = word
                print('Data inicial: ',data_inicial)

            elif word.endswith(')Nº'):
                word = word.replace(")Nº","")
                data_final1 = word
                print("Data Final: ",data_final1)

            elif word.endswith(")Agradecemos"):
                word = word.replace(")Agradecemos","")
                data_final = word
                print('Data final: ',data_final)

            elif word.startswith('Saldo'):
                word = word.replace("Saldo","")
                participacao_saldo = word
                print('Participação no Saldo: ',participacao_saldo)

                print('\n\n')

            else:
                continue

if __name__ == '__main__' :
    print('ok')

解决方法

您可以使用打印:

 const dataToRender = () => {
    const filters = {
      q: searchTerm
    }

    const isFiltered = Object.keys(filters).some(function (k) {
      return filters[k].length > 0
    })
    
    if (dataRender.length > 0) {
      return dataRender.slice((currentPage - 1) * rowsPerPage,currentPage * rowsPerPage)
    } else if (dataRender.length === 0 && isFiltered) {
      return []
    } else {
      return data.slice((currentPage - 1) * rowsPerPage,currentPage * rowsPerPage)
    }
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。