1. 서문
2. 요구 사항 설명
3. 두뇌 사용 시작
3.1 관련 타사 패키지 설치
3.2 필요한 타사 라이브러리 가져오기
3.3 PDF 파일 읽기 및 식별 content
3.4 식별된 데이터를 처리하여 csv 파일에 기록합니다.
요약
1. 서문
스캔된 문서는 항상 대중에게 인기가 있었습니다. 모든 종이 데이터는 스캔 후 보관됩니다. 당신이 그것을 사용하고 싶을 때, 노력과 노력을 절약하십시오. 그러나 스캔한 문서의 장점은 전자장치를 통해 스캔되기 때문에 파일에 있는 내용을 처리하려고 하면 직접 작업이 불가능하다는 단점도 있습니다.
내용을 인용하고 싶다면? 걱정하지 마십시오. Python이 문제 해결을 도와줄 것입니다.
2. 요구사항 설명
텍스트를 추출하여 csv 문서에 3열로 작성하려고 합니다.
pdfexample
csvexample
3. 손과 두뇌를 사용하세요
PDF 스캔은 문서를 컴퓨터 이미지 형식으로 스캔하여 변환하는 것입니다. 따라서 우리의 임무는 PDF를 그림으로 변환한 다음 OCR 도구를 사용하여 그림의 텍스트를 추출하는 것입니다.
3.1 관련 타사 패키지 설치
pip3 install pdf2image pytesseract
3.2 필수 타사 라이브러리 가져오기
import os #处理文件 from pdf2image import convert_from_path# pdf转图片 import pytesseract# 识别图片文字 import csv# 处理csv文件
3.3 pdf 파일을 읽고 내용을 식별하세요
tess_ocr(pdf_path, lang, first_page, last_page)
pdf 파일 분할 사진으로 나누고 텍스트를 추출하여 텍스트 파일로 작성합니다
- pdf_path: PDF 파일의 저장 경로
- image: PDF 문서의 각 페이지를 나타내는 PIL 이미지 목록
- first_page: 첫 번째 설정 허용 pdftoppm으로 처리되는 페이지;
- last_page: pdftoppm으로 처리할 마지막 페이지를 설정할 수 있습니다.
- fmt: 출력 형식을 지정할 수 있습니다. 현재 지원되는 형식은 jpg, png, pm입니다.
- 출력_폴더: 이미지 저장 경로
def tess_ocr(pdf_path, lang,first_page,last_page): # 创建一个和pdf同名的文件夹 images = convert_from_path(pdf_path, fmt='png',first_page=first_page,last_page=last_page,output_folder=imagefolder,userpw='site')# 转成图片 text = '' for img in images: text += pytesseract.image_to_string(img, lang=lang) # 识别图片文字 with open(r'exampledata.txt' 'a', encoding='utf-8') as f: #写入txt文件 f.write(text)
실행 결과
분할된 이미지를 저장할 동일한 이름의 폴더를 생성한 후 이미지 텍스트를 추출하여 데이터에 씁니다. .txt
image-20211215212147760
작업 문제
" " 문제 발생 1:
pdf2image.Exceptions.PDFInfoNotInstalledError: 포플러가 설치되어 있고 PATH에 있습니다. "
해결 방법 : pler 다운로드 .
>1 방법 1: 환경 변수 poppler/bin을 설정합니다.
>2 방법 2:
매개변수는 절대 경로를 지정합니다.
images = Convert_from_path(pdf_path=pdf_file_path, poppler_path=r'bin의 주소)
" " 문제 발생 2:
pytesseract.pytesseract.TesseractNotFoundError: tesseract가 설치되지 않았거나 PATH에 없습니다. 자세한 내용은 README 파일을 참조하세요. " "
해결 방법: tesseract를 추가로 다운로드하여 설치하세요. -ocr 및 환경 변수 구성.
3.4 식별된 데이터를 처리하여 csv 파일에 작성
수정(infile, outfile)
생성된 텍스트 문서 정리
- infile: 처리해야 할 파일 주소
- outfile: 이후 생성 처리 새 파일의 주소
def modification(infile, outfile): infp = open(infile, "r",encoding='utf-8') outfp = open(outfile, "w",encoding='utf-8') lines = infp.readlines() #返回列表,包含所有的行。 #依次读取每行 for li in lines: if li.split(): #str.split(str="", num=string.count(str)),过滤文件中的空行 # 根据识别情况对数据进行清洗 li = li.replace('[', ' ').replace(']', '') outfp.writelines(li) infp.close() outfp.close()
실행 결과
가 새 txt 파일을 생성합니다. 새 파일은 data.txt의 빈 줄을 삭제하고 원본 파일에서 잘못 인식된 내용을 올바른 파일로 바꿉니다.
writercsv(intxt,outcsv)
텍스트 파일을 csv 테이블에 공백으로 쓰기
- intxt: 텍스트 파일 주소
- outcsv: 새로 생성된 csv 파일
def writercsv(intxt,outcsv): # 使用newlines=''可保证存储的数据不空行。 csvFile = open(outcsv, 'a',newline='', encoding='utf-8') writer = csv.writer(csvFile) csvRow = [] f = open(intxt,'r',encoding='utf-8') for line in f: csvRow = line.split() #以空格为分隔符 if len(csvRow)>1 and len(csvRow)<=3:#约束条件,视情况而定 writer.writerow(csvRow) f.close() csvFile.close()
실행 결과
3열 생성 csv 파일에서 첫 번째 열은 영어 이름, 두 번째 열은 중국어 이름, 세 번째 열은 국가
image-20211215204846623
image-20211215204941725
Summary
이번 연구를 통해 우리는 스캔한 문서에서 텍스트를 추출하고 필요에 따라 해당 내용을 다양한 형식의 문서에 작성해야 한다는 것을 깨달았습니다.
처음에는 PDF 추출 라이브러리가 스캔된 문서에도 작동할 것이라고 생각하여 Pdfplumber 라이브러리와 PyPDF2 라이브러리를 사용해 보았습니다.
연습 결과 Pdfplumber는 스캔한 PDF의 워터마크만 인식할 수 있으며 스캔한 PDF에는 적합하지 않은 것으로 나타났습니다. PyPDF2 라이브러리가 실행되고 NotImplementedError: 알고리즘 코드 1과 2만 지원됩니다.
이 암호화된 PDF는 상위 버전의 acrobot에서 나올 수 있으므로 해당 암호화 알고리즘 코드는 '4'입니다. 그러나 기존 pypdf2 모듈은 '1' 또는 '2'의 암호화 알고리즘 코드 이름만 지원하는 것은 아닙니다. '암호화된 PDF 파일.
위 내용은 Python은 PD 텍스트 인식, 추출 및 CSV 파일 스크립트 공유로 쓰기를 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

WebStorm Mac 버전
유용한 JavaScript 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
