Ejemplo n.º 1
0
def download_table_cnv(file_name):
    """
    Realiza o download de um arquivo auxiliar de dados do SINASC em formato "cnv" ou de uma pasta
    "zip" que o contém (se a pasta "zip" já não foi baixada), em seguida o lê como um objeto pandas
    DataFrame

    Parâmetros
    ----------
    file_name: objeto str
        String do nome do arquivo "cnv"

    Retorno
    -------
    df: objeto pandas DataFrame
        Dataframe que contém os dados de um arquivo auxiliar de dados originalmente em formato "cnv"
    """

    ftp = FTP('ftp.datasus.gov.br')
    ftp.login()

    if (file_name.startswith('CID10') or (file_name == 'NAT1212')):
        ftp.cwd('/dissemin/publicos/SIM/CID10/TAB/')
        folder = 'OBITOS_CID10_TAB.ZIP'
    else:
        ftp.cwd('/dissemin/publicos/SINASC/NOV/TAB/')
        folder = 'NASC_NOV_TAB.zip'

    if not os.path.isfile(folder):
        ftp.retrbinary(f'RETR {folder}', open(folder, 'wb').write)
    zip = ZipFile(folder, 'r')

    try:
        fname = file_name + '.CNV'
        zip.extract(fname)
    except:
        try:
            fname = file_name + '.cnv'
            zip.extract(fname)
        except:
            raise Exception(f'Could not access {file_name}.')

    os.rename(fname, 'SINASC_' + fname)

    df = read_cnv('SINASC_' + fname)

    return df
Ejemplo n.º 2
0
def download_table_cnv(file_name):
    """
    Realiza o download de um arquivo auxiliar de dados do SIA em formato "cnv" ou de uma pasta
    "zip" que o contém (se a pasta "zip" já não foi baixada), em seguida o lê como um objeto pandas
    DataFrame

    Parâmetros
    ----------
    file_name: objeto str
        String do nome do arquivo "cnv"

    Retorno
    -------
    df: objeto pandas DataFrame
        Dataframe que contém os dados de um arquivo auxiliar de dados originalmente em formato "cnv"
    """

    if file_name == 'natjur':
        folder = 'TAB_SIH.zip'
        place = '/dissemin/publicos/SIHSUS/200801_/Auxiliar/'

    else:
        folder = 'TAB_SIA.zip'
        place = '/dissemin/publicos/SIASUS/200801_/Auxiliar/'

    if not os.path.isfile(folder):
        ftp = FTP('ftp.datasus.gov.br')
        ftp.login()
        ftp.cwd(place)
        ftp.retrbinary(f'RETR {folder}', open(folder, 'wb').write)
    zip = ZipFile(folder, 'r')
    try:
        fname = file_name + '.CNV'
        zip.extract('CNV/' + fname)
    except:
        try:
            fname = file_name + '.cnv'
            zip.extract('CNV/' + fname)
        except:
            raise Exception(f'Could not access {file_name}.')

    os.rename('CNV/' + fname, 'SIA_' + fname)

    df = read_cnv('SIA_' + fname)

    return df
Ejemplo n.º 3
0
def download_table_cnv(file_name):
    """
    Realiza o download de um arquivo auxiliar de dados do SINAN em formato "cnv" ou de uma pasta
    "zip" que o contém (se a pasta "zip" já não foi baixada), em seguida o lê como um objeto pandas
    DataFrame

    Parâmetros
    ----------
    file_name: objeto str
        String do nome do arquivo "cnv"

    Retorno
    -------
    df: objeto pandas DataFrame
        Dataframe que contém os dados de um arquivo auxiliar de dados originalmente em formato "cnv"
    """

    ftp = FTP('ftp.datasus.gov.br')
    ftp.login()
    ftp.cwd('/dissemin/publicos/SINAN/AUXILIAR/')

    folder = 'TAB_SINAN.zip'

    if not os.path.isfile(folder):
        ftp.retrbinary('RETR {}'.format(folder), open(folder, 'wb').write)
    zip = ZipFile(folder, 'r')
    try:
        zip.extract(file_name + '.CNV')
        file_name = file_name + '.CNV'
    except:
        try:
            zip.extract(file_name + '.cnv')
            file_name = file_name + '.cnv'
        except:
            raise Exception('Could not download {}'.format(file_name))

    os.rename(file_name, 'SINAN_' + file_name)

    df = read_cnv('SINAN_' + file_name)

    return df