Return to Video

vimeo.com/.../806083251

  • 0:08 - 0:13
    Um pouquinho mais estruturado
    que o txt é o CSV.
  • 0:13 - 0:18
    O CSV é um tipo de arquivo
    cujos campos estão separados,
  • 0:18 - 0:24
    delimitados por sinal gráfico,
    como vírgula ou ponto e vírgula.
  • 0:24 - 0:26
    Vamos dar uma olhadinha aqui.
  • 0:26 - 0:36
    Nós temos nesse arquivo, "jedis.csv",
    um arquivo que é separado por vírgula
  • 0:36 - 0:40
    cada um dos atributos
    que nós vamos ler.
  • 0:40 - 0:47
    Então, o "nome_jedi", "idade_jedi"
    e a "classificacao_jedi".
  • 0:47 - 0:51
    E cada uma das linhas
    está falando de um Jedi.
  • 0:51 - 0:57
    O primeiro é o Luke,
    que tem 23 anos e é Padawan.
  • 0:57 - 1:04
    E assim nós temos as outras linhas,
    o Obi-Wan, o Yoda, o Mace Windu.
  • 1:04 - 1:07
    O arquivo CSV não é nativo
    da biblioteca Python.
  • 1:07 - 1:12
    Nós temos que importar
    uma biblioteca especializada.
  • 1:12 - 1:15
    Essa biblioteca
    que nós vamos tratar
  • 1:15 - 1:18
    é uma biblioteca
    chamada CSV.
  • 1:18 - 1:21
    Vamos dar uma olhadinha
    aqui no código
  • 1:21 - 1:27
    e vemos que as mesmas
    coisas que nós usamos
  • 1:27 - 1:35
    para o arquivo txt vão ser repetidas
    aqui no arquivo CSV.
  • 1:35 - 1:40
    Então, tanto o "open",
    que estamos abrindo o arquivo,
  • 1:40 - 1:44
    especificando
    o tipo que ele é, ".csv",
  • 1:44 - 1:49
    quanto o "close"
    também nós vamos fazer.
  • 1:49 - 1:53
    ".close".
  • 1:53 - 1:59
    Dentro desse arquivo,
    nós vamos usar a função "csv.reader"
  • 1:59 - 2:03
    para ler o conteúdo
    desse arquivo.
  • 2:03 - 2:10
    E aqui especificamos
    o delimitador, que é vírgula.
  • 2:10 - 2:18
    E também especificamos
    que o delimitador de palavra
  • 2:18 - 2:22
    é a aspa dupla.
  • 2:22 - 2:29
    Nesse arquivo nós temos a possibilidade
    de ignorar uma linha, como?
  • 2:29 - 2:32
    Com a função "next".
  • 2:32 - 2:36
    A função "next" lê a linha
    e pula essa linha.
  • 2:36 - 2:40
    Então, aqui no nosso arquivo,
    a primeira linha
  • 2:40 - 2:48
    que especifica os nomes
    dos campos vai ser pulada.
  • 2:48 - 2:55
    E daí nós vamos fazer um loop
    como nós fizemos no arquivo txt.
  • 2:55 - 2:59
    O que vamos fazer
    agora é ler a linha.
  • 2:59 - 3:07
    E nós vamos trazer a linha
    especificando cada um dos campos
  • 3:07 - 3:14
    pelo índice, já que lemos a linha
    como se fosse uma lista.
  • 3:14 - 3:19
    Se rodarmos esse
    arquivo aqui,
  • 3:19 - 3:24
    vamos ver o resultado
    sendo um print
  • 3:24 - 3:30
    dizendo cada um dos arquivos lidos
    e especificando os campos.
  • 3:30 - 3:35
    Por exemplo, do Luke, nós vemos
    que ele tem 23 anos de idade
  • 3:35 - 3:39
    e ele é classificado
    como Padawan.
  • 3:39 - 3:42
    É muito simples
    trabalhar com CSV,
  • 3:42 - 3:45
    já que ele tem uma biblioteca
    especializada.
  • 3:45 - 3:49
    Podemos perceber que o Python
    tenta facilitar a nossa vida
  • 3:49 - 3:52
    lendo os arquivos e transformando
    em objetos conhecidos.
  • 3:52 - 3:56
    Aqui, de novo, nós estamos
    lendo um arquivo CSV
  • 3:56 - 4:00
    e o transformando
    em uma lista.
  • 4:00 - 4:03
    No arquivo texto também,
    mas no arquivo JSON
  • 4:03 - 4:07
    nós vamos transformar
    em dicionário.
  • 4:07 - 4:12
    Nós vemos aqui que a nossa
    boa prática nos ensina
  • 4:12 - 4:16
    a abrir um arquivo
    e fechar um arquivo.
  • 4:16 - 4:19
    Mas podemos
    pensar também
  • 4:19 - 4:23
    que o Python poderia facilitar
    um pouquinho, não é verdade?
  • 4:23 - 4:27
    Existe sim um jeito
    de isso ficar mais fácil.
  • 4:27 - 4:29
    É o comando with.
  • 4:29 - 4:34
    O comando with abre um arquivo,
    faz toda a tratativa desse arquivo
  • 4:34 - 4:38
    e quando ele acaba de processar,
    ele fecha automaticamente.
  • 4:38 - 4:45
    É como se tivéssemos um loop,
    só que com o comando with.
  • 4:45 - 4:50
    Então aqui nós vamos
    substituir o arquivo,
  • 4:50 - 4:56
    o "open" do arquivo,
    pelo "with".
  • 4:56 - 5:00
    E vamos substituir
    o "close" também.
  • 5:00 - 5:06
    Repare que esse comando exige
    o alinhamento das linhas de dentro
  • 5:06 - 5:09
    para dizer que tudo
    o que está dentro aqui
  • 5:09 - 5:14
    vai ser trabalhando
    com o arquivo aberto.
  • 5:14 - 5:22
    Se rodarmos aqui,
    ele vai ter o mesmo
  • 5:22 - 5:24
    comportamento
    anterior.
  • 5:24 - 5:27
    A única coisa é que
    ele vai fazer a abertura
  • 5:27 - 5:31
    e fechamento do arquivo
    automaticamente.
  • 5:31 - 5:35
    Bom, se nós lemos,
    agora vamos escrever.
  • 5:35 - 5:38
    Se vamos escrever uma linha
    dentro do arquivo CSV,
  • 5:38 - 5:42
    nada mais justo do que usarmos
    as facilidades do Python.
  • 5:42 - 5:46
    Vamos escrever uma lista
    e essa lista vai ser gravada
  • 5:46 - 5:50
    dentro do arquivo
    como um CSV.
  • 5:50 - 5:57
    Vamos supor aqui que temos
    os dados do Jedi dentro dessa lista,
  • 5:57 - 6:03
    escrito Yoda, 900 anos
    e falando que ele é Mestre.
  • 6:03 - 6:09
    Nós vamos abrir o arquivo
    ainda usando a função "with".
  • 6:09 - 6:11
    Aqui.
  • 6:11 - 6:15
    Colocando que o modo
    de abertura desse arquivo
  • 6:15 - 6:21
    é um append, ou seja,
    nós vamos acrescentar essa linha.
  • 6:21 - 6:27
    Nós vamos dizer que a nova
    linha é um espaço vazio,
  • 6:27 - 6:32
    ou seja, ele vai interpretar isso
    como uma nova linha.
  • 6:32 - 6:39
    E vamos usar o "csv.writer",
    ou seja, estamos dizendo aqui
  • 6:39 - 6:44
    que nós vamos transformar
    esse arquivo CSV
  • 6:44 - 6:49
    e vamos dizer que o delimitador
    aqui é uma vírgula.
  • 6:49 - 6:53
    Poderíamos utilizar
    ponto e vírgula também.
  • 6:53 - 6:59
    Então a hora que ele gravar
    aqui o Yoda ele vai pôr uma vírgula,
  • 6:59 - 7:04
    depois ele vai gravar 900,
    vai pôr outra vírgula
  • 7:04 - 7:08
    e assim
    até o fim da linha.
  • 7:08 - 7:14
    Vamos escrever com o "writerow",
    que é "escreva uma linha".
  • 7:14 - 7:24
    Depois nós vamos apresentar o conteúdo
    desse arquivo aqui no "jedis.csv".
  • 7:24 - 7:27
    Então aqui não temos, olhe.
  • 7:27 - 7:32
    Temos o Yoda aqui,
    ele tem que aparecer de novo aqui,
  • 7:32 - 7:37
    o Yoda, 900, Mestre Jedi.
  • 7:37 - 7:43
    Vamos rodar esse arquivo
    e ver o que aconteceu aqui.
  • 7:43 - 7:43
    Pronto.
  • 7:43 - 7:50
    Ele acrescentou essa linha aqui
    de "Yoda, 900, Mestre".
  • 7:50 - 7:53
    É muito simples
    trabalhar com o arquivo CSV.
  • 7:53 - 7:59
    Ele é um pouquinho mais estruturado
    porque ele separa por campos.
  • 7:59 - 8:02
    Não é tão flexível
    quanto um arquivo txt,
  • 8:02 - 8:06
    mas ele dá um poder maior
    e usamos bastante arquivo CSV
  • 8:06 - 8:12
    para fazer carga de dados estruturados
    dentro de banco de dados SQL,
  • 8:12 - 8:18
    tipo Oracle, SQL Server
    e outros assim.
  • 8:18 - 8:19
    Esse outro
    exemplo aqui
  • 8:19 - 8:23
    é quando nós queremos
    gravar mais de uma linha.
  • 8:23 - 8:30
    Veja, vamos usar
    a estruturação de lista.
  • 8:30 - 8:33
    Essa lista aqui,
    Yoda até Mestre,
  • 8:33 - 8:39
    dentro de outra lista,
    uma lista maior que é o "dados_jedi".
  • 8:39 - 8:45
    Desse jeito vamos precisar
    construir um loop que vai consumir
  • 8:45 - 8:54
    todos os dados da lista maior
    e vai gravar no arquivo CSV.
  • 8:54 - 8:58
    Olhando aqui no arquivo,
    basta ter um "for"
  • 8:58 - 9:02
    e a gravação dentro dele.
  • 9:02 - 9:10
    Se olharmos o "dados_jedi", ainda
    está aqui com "Yoda, 900, Mestre".
  • 9:10 - 9:17
    Podemos pôr aqui, "Mestre Jedi",
    porque ele vai repetir essa linha,
  • 9:17 - 9:22
    já que estamos abrindo o arquivo
    em modo de append,
  • 9:22 - 9:26
    e ele ainda vai acrescentar
    outro Jedi aqui
  • 9:26 - 9:29
    chamado "Luke Skywalker".
  • 9:29 - 9:33
    Vamos rodar
    e olhar o resultado disso.
  • 9:33 - 9:35
    Ele já rodou.
  • 9:35 - 9:42
    Se abrirmos aqui, olhe,
    ele acrescentou as linhas 9 e 10.
  • 9:42 - 9:47
    O CSV bem como
    os arquivos flat files
  • 9:47 - 9:50
    são muito utilizados
    na carga de dados.
  • 9:50 - 9:54
    Você vai ter muitas oportunidades
    para trabalhar com ele.
Title:
vimeo.com/.../806083251
Video Language:
Portuguese, Brazilian
Duration:
09:57

Portuguese, Brazilian subtitles

Revisions Compare revisions