AJUDA EM UM CÓDIGO
Estou desenvolvendo um análisador/tratador de dados universal. A ideia é ele receber qualquer tipo de arquivo(CSV, PDF, XLSX, ETC.), tratar os dados e retornar algumas coisas.
Na parte de leitura do arquivo, eu estou em dúvida e queria ajuda de vocês. Qual o jeito que é melhor ou correto:
1 - Leitor único*:*
def analise_arquivo(caminho_arquivo):
"""
Vai Ler qualquer arquivo que passar
"""
try:
with open(caminho_arquivo, 'rb') as arquivo:
conteudo = arquivo.read()
return conteudo
except FileNotFoundError:
print(
"O arquvio está vazio ou não existe"
)
except Exception as e:
print(
f"Ocorreu um erro inesperado:\n{e}"
)
2 - Condicional:
from pathlib import Path
import pandas as pd
import json
import pdfplumber
def carregar_arquivo(caminho: str):
extensao = Path(caminho).suffix.lower()
if extensao == '.txt':
with open(caminho, 'r', encoding='utf-8') as arq:
return arq.read()
elif extensao == '.json':
with open(caminho, 'r', encoding='utf-8') as arq:
return json.load(arq)
elif extensao == '.csv':
return pd.read_csv(caminho)
elif extensao == '.xlsx':
return pd.read_excel(caminho)
elif extensao == '.pdf':
texto = ''
with pdfplumber.open(caminho) as pdf:
for pagina in pdf.pages:
texto += pagina.extract_text() or ''
return texto
else:
raise ValueError('Formato não suportado')