Como ler e gravar arquivos CSV em Python

Gravando em um arquivo CSV usando DictWriter

Vamos gravar os seguintes dados em nosso arquivo CSV. Ele contém informações sobre três estados diferentes dos EUA em uma lista com elementos individuais sendo um dicionário.

O código é como mostrado abaixo.

Primeiro definimos os nomes dos campos como uma lista e os armazenamos em fields variável. Isso permite que o writer objeto saiba qual seria o cabeçalho de cada coluna no arquivo CSV. o writerows() O método gravará todas as linhas que fornecemos a ele de uma só vez no arquivo CSV. A única condição para writerows() é que as linhas que queremos escrever são iteráveis.

Cada linha individual também deve ser iterável de strings ou números se usarmos o writer() função como fizemos no exemplo anterior. Caso contrário, cada linha deve ser um dicionário que mapeia fieldnames para strings ou números para o DictWriter classe para processá-lo.

Vamos tentar gravar os seguintes dados em nosso arquivo CSV agora:

Há duas coisas dignas de nota sobre os dados acima. Primeiro, nosso estado da Flórida está faltando algumas informações. Segundo, o estado da Geórgia tem algumas informações extras com base no que estamos armazenando na tabela. Terceiro, as chaves do estado da Geórgia não estão na ordem em que definimos os campos para nosso arquivo CSV.

Como podemos lidar com dados não padronizados como esse? o DictWriter classe oferece uma solução. Para chaves ausentes, podemos simplesmente fornecer um valor padrão usando o restval parâmetro. Ele é definido como uma string vazia por padrão. No entanto, você também pode especificar um valor personalizado, como Desconhecido. Para chaves extras, você pode usar o extrasaction parâmetro para dizer DictWriter ignorar essas chaves. Este parâmetro irá gerar um ValueError por padrão.

Aqui está como gravar em todas as linhas de uma só vez.

Nosso arquivo CSV ficará assim após todas as operações de escrita:

Tabela de dados Stata após operações de gravaçãoTabela de dados Stata após operações de gravaçãoTabela de dados Stata após operações de gravação

Conclusão

Este tutorial cobriu a maior parte do que é necessário para ler e gravar com sucesso em um arquivo CSV usando as diferentes funções e classes fornecidas pelo Python. Os arquivos CSV têm sido amplamente usados ​​em aplicativos de software porque são fáceis de ler e gerenciar e seu tamanho pequeno os torna relativamente rápidos para processar e transferir.

Aprenda Python

Aprenda Python com nosso guia tutorial completo sobre Python, seja você apenas começando ou um programador experiente procurando aprender novas habilidades.

Este post foi atualizado com contribuições de Monty Shokeen. Monty é um desenvolvedor full-stack que também adora escrever tutoriais e aprender sobre novas bibliotecas JavaScript.

Deixe uma resposta