Last active
March 12, 2023 01:58
-
-
Save eng-rodrigocunha/5705278eaebc6a6b3fd9e6b82d4e50c9 to your computer and use it in GitHub Desktop.
Realiza scrapping na Carteira Nacional de Vacinação Digital ou no Certificado Nacional de Vacinação Covid-19 emitido através do ConecteSUS para identificar quantas doses de COVID-19 foram administradas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!pip install pdfminer.six | |
import io | |
from pdfminer.high_level import extract_text | |
doses = ["Reforço", "Dose Adicional", "2/2", "1/2"] | |
# abrir o arquivo PDF | |
with open(r'E:\DOCUMENTOS PESSOAIS\Carteira Nacional de Vacinação Digital_4_DOSE.pdf', 'rb') as f: | |
# extrair o texto do PDF | |
text = extract_text(f) | |
# print(text) | |
num_doses = 0 | |
doses_recog = [] | |
# quebra texto em linhas | |
lines = text.split("\n") | |
for index, line in enumerate(lines): | |
for dose in doses: | |
# verifica se há uma próxima linha | |
if (index + 1) < len(lines): | |
# cria uma linha temporária, juntando a linha atual com a próxima | |
# (foi necessária essa etapa em razão do "Dose Adicional" em linha quebrada) | |
line_temp = f"{line}{lines[index + 1]}" | |
if (line == dose) & (dose not in doses_recog): | |
doses_recog.append(dose) | |
# print(f"{'='*5} {line} == {dose} {'='*5}") | |
# print(f"{line}" == dose) | |
num_doses += 1 | |
elif (line_temp == dose) & (dose not in doses_recog): | |
doses_recog.append(dose) | |
# print(f"{'='*5} {line_temp} == {dose} {'='*5}") | |
# print(f"{line_temp}" == dose) | |
num_doses += 1 | |
print("Número de doses administradas: ", str(num_doses)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment