DADOS ABERTOS CNPJ C/ PYTHON

 1) passo:

Podemos acessar os arquivos no formato CSV com um laço de repetição, conforme o exemplo.

import csv

>>> with open(r"C:\Users\caminho\caminho\caminho\Empresas0\K3241.K03200Y0.D51108.EMPRECSV",

newline='', encoding='latin1') as arquivo:

leitor = csv.reader(arquivo, delimiter=';')

for i, linha in enumerate(leitor):

if i >= 100:

break

print(linha)

# detalhes:

No caso do csv.reader, o Python cria as listas automaticamente para cada linha, você não precisa dar nome a cada lista, no entanto;

linha é uma variável temporária que recebe a lista correspondente a uma linha do CSV.
O Python faz isso linha por linha, então cada linha vira uma lista separada automaticamente, sem precisar de minha_lista = [].
Cada uma das listas existe só dentro do loop enquanto você processa essa linha. Depois que o loop passa para a próxima, linha passa a conter a próxima lista.

 

 Se você quiser guardar todas as linhas:

Se você quiser ter todas as linhas juntas em uma única lista de listas, você precisa criar uma lista antes do loop:
todas_linhas = []

with open("arquivo.csv", newline='', encoding='latin1') as arquivo:
    leitor = csv.reader(arquivo, delimiter=';')
    for linha in leitor:
        todas_linhas.append(linha)

print(todas_linhas)

 Aqui, todas_linhas é uma lista de listas.
Cada sublista representa uma linha do CSV.

csv.reader gera listas temporárias linha por linha, sem você precisar nomear cada uma.
Se quiser guardar todas, crie uma lista externa (todas_linhas) e use .append().

 Dica: transforme essas listas em um dicionário com nomes de colunas, que deixa cada linha muito mais fácil de entender e manipular.

2) passo:

 

Podemos acessar uma lista com diversas listas e também acessar determinadas posições de cada lista dentro da lista principal:

dados = []

# Índices das posições que queremos imprimir (exemplo: 0, 1 e 4)
indices = [0, 1, 4]

# Loop para iterar sobre cada lista interna e imprimir as posições selecionadas
for sublista in dados:
    valores = [sublista[i] for i in indices]  # Pegando as posições desejadas
    print(valores)

 dados = [
['41273590', 'MARIA DAS MERCES SOARES LEMOS', '4014', '34', '0,00', '05', ''],
['41273591', 'CASSIO APARECIDO LOPES 06457523803', '2135', '50', '1000,00', '01', ''],
['41273592', '41.273.592 HELIO DE JESUS PEREIRA', '2135', '50', '30000,00', '01', '']]

indices = [0,5]

for sublista in dados:
    valores = [sublista[i] for i in indices]
    print(valores)

    
['41273590', '05']
['41273591', '01']
['41273592', '01']

Dica: Você pode salvar esses dados em um arquivo CSV usando o módulo padrão  CSV  do Python.

 

 

Comentários