def ler_POF(path, header=True):
    """
    Realiza a leitura dos microdados da POF 2017/2018 diretamente do arquivo .zip baixado do site do IBGE
    e exporta os dados como um arquivo .csv.
    :param path: caminho para o arquivo .zip
    :param header: boolean, Default True - acrescenta o código da variável como nome de cada coluna.
    https://github.com/otavio-s-s/lerMicrodados
     """
    import pandas as pd
    from zipfile import ZipFile
    pof_2017 = {'ALUGUEL_ESTIMADO': [[2, 4, 1, 9, 2, 1, 2, 7, 2, 10, 2, 2, 
        12, 10, 1, 2, 14, 14, 10], ['UF', 'ESTRATO_POF',
        'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM', 'NUM_UC', 'QUADRO',
        'V9001', 'V9002', 'V8000', 'V9010', 'V9011', 'DEFLATOR',
        'V8000_DEFLA', 'COD_IMPUT_VALOR', 'FATOR_ANUALIZACAO', 'PESO',
        'PESO_FINAL', 'RENDA_TOTAL']], 'CADERNETA_COLETIVA': [[2, 4, 1, 9, 
        2, 1, 2, 3, 7, 2, 10, 12, 10, 1, 2, 14, 14, 10, 9, 4, 5, 9], ['UF',
        'ESTRATO_POF', 'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM', 'NUM_UC',
        'QUADRO', 'SEQ', 'V9001', 'V9002', 'V8000', 'DEFLATOR',
        'V8000_DEFLA', 'COD_IMPUT_VALOR', 'FATOR_ANUALIZACAO', 'PESO',
        'PESO_FINAL', 'RENDA_TOTAL', 'V9005', 'V9007', 'V9009', 'QTD_FINAL'
        ]], 'DESPESA_COLETIVA': [[2, 4, 1, 9, 2, 1, 2, 2, 7, 2, 4, 10, 2, 2,
        1, 10, 1, 12, 10, 10, 1, 1, 2, 14, 14, 10], ['UF', 'ESTRATO_POF',
        'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM', 'NUM_UC', 'QUADRO',
        'SEQ', 'V9001', 'V9002', 'V9005', 'V8000', 'V9010', 'V9011',
        'V9012', 'V1904', 'V1905', 'DEFLATOR', 'V8000_DEFLA', 'V1904_DEFLA',
        'COD_IMPUT_VALOR', 'COD_IMPUT_QUANTIDADE', 'FATOR_ANUALIZACAO',
        'PESO', 'PESO_FINAL', 'RENDA_TOTAL']], 'DESPESA_INDIVIDUAL': [[2, 4,
        1, 9, 2, 1, 2, 2, 2, 7, 2, 10, 2, 2, 1, 1, 1, 12, 10, 1, 2, 14, 14,
        10], ['UF', 'ESTRATO_POF', 'TIPO_SITUACAO_REG', 'COD_UPA',
        'NUM_DOM', 'NUM_UC', 'COD_INFORMANTE', 'QUADRO', 'SEQ', 'V9001',
        'V9002', 'V8000', 'V9010', 'V9011', 'V9012', 'V4104', 'V4105',
        'DEFLATOR', 'V8000_DEFLA', 'COD_IMPUT_VALOR', 'FATOR_ANUALIZACAO',
        'PESO', 'PESO_FINAL', 'RENDA_TOTAL']], 'DOMICILIO': [[2, 4, 1, 9, 2,
        1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 14, 14], ['UF', 'ESTRATO_POF',
        'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM', 'V0201', 'V0202',
        'V0203', 'V0204', 'V0205', 'V0206', 'V0207', 'V0208', 'V0209',
        'V02101', 'V02102', 'V02103', 'V02104', 'V02105', 'V02111',
        'V02112', 'V02113', 'V0212', 'V0213', 'V02141', 'V02142', 'V0215',
        'V02161', 'V02162', 'V02163', 'V02164', 'V0217', 'V0219', 'V0220',
        'V0221', 'PESO', 'PESO_FINAL']], 'MORADOR': [[2, 4, 1, 9, 2, 1, 2, 
        2, 1, 2, 2, 4, 3, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 14, 14, 10],
        ['UF', 'ESTRATO_POF', 'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM',
        'NUM_UC', 'COD_INFORMANTE', 'V0306', 'V0401', 'V04021', 'V04022',
        'V04023', 'V0403', 'V0404', 'V0405', 'V0406', 'V0407', 'V0408',
        'V0409', 'V0410', 'V0411', 'V0412', 'V0413', 'V0414', 'V0415',
        'V0416', 'V041711', 'V041712', 'V041721', 'V041722', 'V041731',
        'V041732', 'V041741', 'V041742', 'V0418', 'V0419', 'V0420', 'V0421',
        'V0422', 'V0423', 'V0424', 'V0425', 'V0426', 'V0427', 'V0428',
        'V0429', 'V0430', 'ANOS_ESTUDO', 'PESO', 'PESO_FINAL',
        'RENDA_TOTAL']], 'OUTROS_RENDIMENTOS': [[2, 4, 1, 9, 2, 1, 2, 2, 2,
        7, 10, 10, 2, 2, 12, 10, 10, 1, 1, 14, 14, 10], ['UF',
        'ESTRATO_POF', 'TIPO_SITUACAO_REG', 'COD_UPA', 'NUM_DOM', 'NUM_UC',
        'COD_INFORMANTE', 'QUADRO', 'SEQ', 'V9001', 'V8500', 'V8501',
        'V9010', 'V9011', 'DEFLATOR', 'V8500_DEFLA', 'V8501_DEFLA',
        'COD_IMPUT_VALOR', 'FATOR_ANUALIZACAO', 'PESO', 'PESO_FINAL',
        'RENDA_TOTAL']], 'RENDIMENTO_TRABALHO': [[2, 4, 1, 9, 2, 1, 2, 2, 1,
        1, 7, 1, 1, 1, 1, 1, 1, 7, 7, 7, 7, 2, 2, 3, 1, 12, 10, 10, 10, 10,
        1, 1, 14, 14, 10], ['UF', 'ESTRATO_POF', 'TIPO_SITUACAO_REG',
        'COD_UPA', 'NUM_DOM', 'NUM_UC', 'COD_INFORMANTE', 'QUADRO',
        'SUB_QUADRO', 'SEQ', 'V9001', 'V5302', 'V53021', 'V5303', 'V5304',
        'V5305', 'V5307', 'V8500', 'V531112', 'V531122', 'V531132', 'V9010',
        'V9011', 'V5314', 'V5315', 'DEFLATOR', 'V8500_DEFLA',
        'V531112_DEFLA', 'V531122_DEFLA', 'V531132_DEFLA',
        'COD_IMPUT_VALOR', 'FATOR_ANUALIZACAO', 'PESO', 'PESO_FINAL',
        'RENDA_TOTAL']]}
    zip_file = ZipFile(path, mode='r')
    for text_file in zip_file.infolist():
        file = text_file.filename
        name = '{}'.format(text_file.filename.split('.')[0])
        new_file = pd.read_fwf(zip_file.open(file), widths=pof_2017[name][0
            ], index=False, header=None, dtype=str)
        if header:
            new_file.columns = pof_2017[name][1]
        new_file.to_csv('{}.csv'.format(name), index=False)
        print('{}.csv exportado com sucesso.'.format(name))
