Como escrever uma lista para CSV em Python

Como escrever uma lista para CSV em Python

Se você está lutando com listas Python e se perguntando como pode salvá-las como um arquivo CSV simples, você está no lugar certo. Uma das tarefas mais comuns em Python é escrever uma lista em um arquivo delimitado por vírgulas e, hoje, vamos transformá-lo em um profissional da criação de arquivos CSV!

Para gravar uma lista em CSV em Python, você pode usar um módulo interno chamado csv, projetado especialmente para ler e gravar arquivos CSV. A classe csv.writer do módulo fornece funções para gravar listas simples e aninhadas em arquivos CSV.

Outros métodos para obter o mesmo resultado incluem instalar e usar os módulos Pandas ou NumPy externos.

Este artigo explicará os conceitos e guiará você passo a passo pelo processo com todos os exemplos de código necessários para começar.

Vamos!

Índice

O que são listas em Python?

Como escrever uma lista para CSV em Python

Uma lista em Python é uma estrutura de dados integrada usada para armazenar vários itens em uma única variável.

As listas do Python são:

  • ordenada (começando do zero).

  • mutável (pode ser modificado).

  • capaz de armazenar valores duplicados.

As listas são definidas por valores entre colchetes [] e os itens são separados por vírgulas. Os itens em uma lista podem ser de qualquer tipo de dados, como números, strings e até mesmo outras listas.

Aqui está um exemplo de criação de uma lista simples:

products = [“t-shirts”, “hoodies”, “jeans”]

Listas de listas em Python

Listas de listas também são conhecidas como listas aninhadas . Estas são listas que contêm outras listas como seus elementos.

Eles são frequentemente usados ​​em Python para representar dados estruturados em linhas e colunas. Eles são comumente usados ​​em cenários em que você precisa agrupar dados relacionados.

Aqui está um exemplo de criação de uma lista aninhada que representa produtos, preços e vendas.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

Arquivos CSV e o módulo CSV em Python

Os arquivos CSV representam dados tabulares em um formato de arquivo simples. Cada linha do arquivo corresponde a uma linha da tabela. Cada valor na linha (ou linha) é separado por uma vírgula — é por isso que o formato é chamado de 'Valores separados por vírgula'.

Este é o aspecto de um arquivo que representa produtos, preços e vendas no formato CSV:

  • camisetas, 9,99, 342

  • moletons, 24,99, 118

  • jeans, 29,99, 612

Como escrever uma lista para CSV em Python

O módulo csv é um módulo Python integrado que fornece ferramentas para ler e gravar dados no formato CSV. É especialmente útil devido à sua simplicidade e eficiência.

Ao importar o módulo csv , você obtém acesso à classe csv.writer() , que permite criar um objeto gravador que pode gravar uma string delimitada em um objeto de arquivo.

Tudo bem, agora que examinamos o básico, vamos dar uma olhada em como você pode escrever uma lista simples em CSV usando Python na próxima seção.

Como escrever uma lista simples para CSV em Python

A primeira técnica a aprender é para um arquivo de lista simples (não aninhado) que se parece com isto:

  • Camisetas

  • moletons

  • jeans

Como escrever uma lista para CSV em Python

As etapas gerais para gravar a lista no arquivo CSV são:

  1. Importe o módulo csv .

  2. Crie uma lista Python.

  3. Abra um arquivo CSV no modo de gravação.

  4. Use a função writerow() do objeto gravador csv .

  5. Salve e feche o arquivo CSV.

A função writerow() escreverá várias linhas, ou seja, todos os dados no arquivo. Aqui está o código com comentários detalhados.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Usando gerenciadores de contexto

Se você não estiver familiarizado com o método “com” de trabalhar com arquivos, esta é uma técnica que usa um gerenciador de contexto que gerencia os recursos do arquivo.

Por exemplo, quando você o usa para gravar arquivos CSV, os arquivos são fechados automaticamente quando a instrução with termina.

Como escrever uma lista de listas para CSV

Com uma lista de listas, cada lista interna deve ser uma linha CSV no arquivo. É assim que os dados CSV ficarão:

Como escrever uma lista para CSV em Python

As etapas amplas são semelhantes à seção anterior, exceto que você usa a função writerows() em vez de writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

Neste segundo exemplo, cada lista interna é gravada como uma linha separada no arquivo.

Observe que o módulo csv permite evitar a necessidade de enumerar ou percorrer a estrutura de dados e escrevê-la linha por linha.

A seguir, veremos como você pode anexar dados a arquivos CSV existentes.

Como anexar dados a arquivos CSV existentes

Como escrever uma lista para CSV em Python

Para anexar dados a um arquivo CSV existente, siga estas etapas:

  1. Importe o módulo csv .

  2. Abra o arquivo CSV no modo de acréscimo ('a') usando o gerenciador de contexto with open() .

  3. Crie uma nova lista contendo os dados a serem anexados.

  4. Crie um objeto csv.writer() passando o arquivo aberto.

  5. Use o objeto csv.writer() para gravar a nova lista no arquivo CSV.

Aqui está um exemplo que escreve adiciona uma lista aninhada (uma linha) a um arquivo existente:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Certifique-se de incluir newline=” ao abrir o arquivo para garantir a formatação adequada do arquivo CSV em diferentes plataformas.

Na próxima seção, abordaremos como você pode usar a classe DictWriter para gravar em arquivos CSV.

Como usar o DictWriter para gravar em arquivos CSV

Como escrever uma lista para CSV em Python

Até agora, aprendemos como escrever listas em arquivos CSV. No entanto, o Python possui outras estruturas de dados, como dicionários , que também podem ser gravadas em um arquivo CSV.

A classe DictWriter() também faz parte do módulo csv . É semelhante à classe Writer() , mas lida com dados de dicionário.

Aqui está um exemplo:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Técnicas avançadas de CSV em Python

Usar o módulo csv não é o único método para exportar listas Python como arquivos CSV.

Duas bibliotecas populares que fornecem funcionalidade para esta tarefa são Pandas e NumPy .

1. Como exportar dados com Pandas

Como escrever uma lista para CSV em Python

Pandas é uma biblioteca Python amplamente usada para manipulação e análise de dados.

Para salvar listas do Python como um arquivo CSV, você pode criar um DataFrame pandas a partir da lista e então usar o método to_csv() , conforme mostrado abaixo:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Se seus dados incluírem caracteres não ASCII, talvez seja necessário definir o parâmetro de codificação para um valor apropriado, como 'utf-8'.

2. Como usar o NumPy para salvar listas em CSV

Outra biblioteca que vale a pena considerar é o NumPy , que fornece suporte para trabalhar com arrays e matrizes.

O NumPy oferece a função np.savetxt() como um método conveniente para salvar dados em um arquivo CSV.

Aqui está um exemplo mostrando como salvar uma lista em um arquivo CSV usando NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Aqui está um detalhamento dos parâmetros savetxt() :

  • delimitador: especifica o separador de campo

  • Parâmetro fmt: indica o formato dos dados que estão sendo salvos

  • %s: o espaço reservado para valores de string

  • header : uma lista de cabeçalhos de coluna

  • comentários: controla os caracteres que iniciam os comentários no arquivo de saída.

Como limpar os dados antes de gravar no arquivo

É uma boa ideia limpar seus dados antes de gravá-los em arquivos de texto. Este vídeo lhe dará as técnicas que você precisa:

Pensamentos finais

Escrever uma lista em um arquivo CSV em Python é uma maneira simples e eficaz de armazenar e compartilhar dados. Você aprendeu a usar o módulo csv interno do Python para executar essa tarefa.

Agora você está familiarizado com a criação de uma lista Python, importando o módulo csv , abrindo um arquivo CSV e usando o csv.writer para gravar a lista no arquivo CSV.

Você também aprendeu os cenários mais complexos de escrever uma lista de listas em um arquivo CSV, que permite armazenar dados tabulares.

Não se esqueça, como tudo na programação, a prática leva à perfeição. Portanto, pegue esse novo conhecimento, brinque com ele e veja como ele funciona com diferentes conjuntos de dados e necessidades de projeto.

Esta é apenas a ponta do iceberg do Python. Há muito mais para explorar no vasto mundo do Python, então não pare por aqui. Mas por hoje, dê um tapinha nas costas. Você domou com sucesso a fera da conversão de lista para CSV!


O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Este tutorial abordará como usar a técnica Multi Threaded Dynamic Visuals para criar insights de visualizações de dados dinâmicos em seus relatórios.

Introdução ao contexto de filtro no LuckyTemplates

Introdução ao contexto de filtro no LuckyTemplates

Neste artigo, analisarei o contexto do filtro. O contexto do filtro é um dos principais tópicos sobre os quais qualquer usuário do LuckyTemplates deve aprender inicialmente.

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Quero mostrar como o serviço online do LuckyTemplates Apps pode ajudar no gerenciamento de diferentes relatórios e insights gerados de várias fontes.

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Aprenda a calcular suas alterações de margem de lucro usando técnicas como ramificação de medida e combinação de fórmulas DAX no LuckyTemplates.

Ideias de materialização para caches de dados no DAX Studio

Ideias de materialização para caches de dados no DAX Studio

Este tutorial discutirá sobre as ideias de materialização de caches de dados e como elas afetam o desempenho dos DAXs no fornecimento de resultados.

Relatórios de negócios usando o LuckyTemplates

Relatórios de negócios usando o LuckyTemplates

Se você ainda estiver usando o Excel até agora, este é o melhor momento para começar a usar o LuckyTemplates para suas necessidades de relatórios de negócios.

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber