Python을 사용하여 PDF에서 Excel로 데이터 입력 자동화

오늘은 PDF 데이터를 Excel로 가져오는 과정을 자동화하는 방법을 보여드리겠습니다. 이렇게 하면 매일 이 작업을 수행하는 모든 사람이 많은 시간을 절약할 수 있습니다.

이것은 테스트 데이터입니다.


코드로 이동합시다!

먼저 종속성을 가져와야 합니다.

from tika import parser
import pprint
from collections import defaultdict
import re
import pandas as pd


그런 다음 PrettyPrinter를 정의하고 PDF 파일의 내용을 가져와 목록으로 변환해야 합니다.

pp = pprint.PrettyPrinter(indent=3)
parsedPDF = parser.from_file("final-test.pdf")

content = parsedPDF['content']
contentlist = content.split('\n')


분할 결과 목록에서 빈 문자열을 제거합니다.

contentlist = list(filter(lambda a: a != '', contentlist))


알고리즘에 사용할 반복자 및 기타 플래그를 만듭니다. 줄당 PDF 내용의 반복자입니다.

iterateContent = iter(contentlist)


스크랩한 데이터의 사전 자리 표시자

data = defaultdict(dict)


얼마나 많은 블록을 얻을 수 있었는지 계산하는 카운터

 cntr = 0


특정 데이터 블록에 있는 라인 표시기

 line = 1


알고리즘은 cntr 및 line 플래그를 사용하여 우리가 새 블록 또는 기존 블록에 있는지 확인합니다.

while True:
    try:
        string = next(iterateContent)
    except StopIteration:
        break

    if re.match('^[A-Z\s]+$', string):
        cntr += 1           

        data[cntr]['Name'] = string
        line = 2
        print('matched')

    elif line == 2:
        data[cntr]['Address'] = string
        line += 1

    elif line == 3:
        data[cntr]['Website'] = string
        line += 1



print("Total data:", len(data.keys()))


Dataframe에 데이터 설정

df = pd.DataFrame(data.values())
df.index += 1
print(df)


데이터 프레임을 엑셀에 쓰기

writer = pd.ExcelWriter("dataframe.xlsx", engine='xlsxwriter')
df.to_excel(writer, sheet_name='output', index=False)
writer.save()


최종 결과:



모두 감사합니다.

좋은 웹페이지 즐겨찾기