Apačioje pateikiamas pavyzdys kaip suskaičiuoti vienodus žodžius PDF byloje. Ši programa sukaičiuoja žodžius viename pasirinktame PDF puslapyje. Tiesa tam jums reikės įsidiegti PyPDF2 biblioteką:
# importuojama reikalinga darbui su PDF biblioteka. Įprastoje Python distribucijoje jos nėra, taigi teks įsidiegti.
import PyPDF2
# sukuriamas failo objektas.
pdfFileObj = open('bylos vardas.pdf', 'rb')
# sukuriamas skaitymo objektas
pdfReader = PyPDF2.PdfReader(pdfFileObj)
# atspausdinamas puslapių skaičius
print('Puslapių skaičius =',len(pdfReader.pages))
e=int(input("įveskite puslapį ="))-1
# sukuriamas puslapio objektas
m=[]
for i in pdfReader.pages:
m.append(i)
pageObj=m[e]
#pageObj = pdfReader.pages[10]
# ištraukiamas tekstas
k=pageObj.extract_text()
#print(k)
# uždaromas skaitymo objektas
pdfFileObj.close()
k=k.casefold()
# Sudaroma ženklų kuriuos reikia pašalinti seka.
r=(',',')','(','"',"'",'.','_',':','^','?','!','-','+','/','*')
#Metodo "replace" pagalba pašalinami nereikalingi ženklai.
for i in r:
k=k.replace(i,"")
# Tekstas paverčiamas į sarašą sudarytą iš žodžių.
k1=k.split()
# Atminties taupymo tikslais ištrinamas nebenaudojamas sąrašas.
del[k]
# Pašalinami skaičiai
k2=[]
for i in k1:
if i.isnumeric():
pass
else:
k2.append(i)
# Atminties taupymo tikslais ištrinamas nebenaudojamas sąrašas.
del[k1]
# Sukuriama aibė:
k3=set(k2)
# Pasižiūrėjimui atsipausdiname sąrašo ir aibės ilgius.
print(len(k2),len(k3))
#Atspausdiname kiek konkretaus žodžio pasitaikymą tekste.
for i in k3:
print(i,'=',k2.count(i))
Komentarų nėra:
Rašyti komentarą