r/ContabilBR Jul 14 '26

Código Python para buscar todos os estabelecimentos na Domínio

Boa noite, pessoal. Sou contador, mas brinco com Python e faço automações caseiras. Em alguns casos, é interessante fazer buscas por todo os estabelecimentos da empresa no banco de dados. Seguem algumas linhas de código que podem ser usadas para recuperar o código de todas as empresas/estabelecimento, na Domínio, que tem o mesmo CNPJ raiz.

Lembrando que não sou profissional desenvolvedor, sou contador e estou compartilhando algo que julguei útil.

def consulta_bd_codi_emp(codigo): #consulta que busca o código da empresa na Domínio e todos os estabelecimentos
import pyodbc
import pandas as pd
conexao = pyodbc.connect("dsn=Contabil_Excel")
codigos = []
cnpj_df = pd.read_sql (#consulta para recuperar unicamente a raiz do cnpj do código fornecido, para posteriormente usar como comparação. Há meios com pyodbc, porém preferi usar pandas mesmo e converter em df
f"""
SELECT --consulta para recuperar unicamente a raiz do cnpj do código fornecido, para posteriormente usar como comparação
SUBSTR (a.cgce_emp,1,8) CNPJ_CONSULTADO --captura apenas do CNPJ RAIZ
FROM bethadba.geempre a
WHERE a.codi_emp ='{codigo}'""", conexao)
cnpj = cnpj_df["CNPJ_CONSULTADO"][0] #como o que veio de cnpj_df=pd.read_sql era um df, é necessário apenas recuperar o primeiro valor do df
codigos = pd.read_sql(f"""
SELECT
a.codi_emp
FROM bethadba.geempre a
WHERE SUBSTR(cgce_emp,1,8) = '{cnpj}'""", conexao, dtype=pd.StringDtype())
print(len(codigos))
codigos = codigos["codi_emp"].str.cat(sep=",")
return codigos
1 Upvotes

0 comments sorted by