O que é um objeto de lista em Python?
Uma lista de Python é um arranjo ordenado de elementos que podem ser modificados. Os elementos ou valores que compõem uma lista ou são armazenados dentro de uma lista são chamados de itens. Ao trabalhar com vários valores conectados, as listas são uma ferramenta útil. Eles oferecem a capacidade de otimizar seu código, executar as mesmas operações em vários valores de uma só vez e manter os dados relacionados juntos.
O que é CSV em Python?
Uma grande quantidade de dados em forma tabular (números e texto) pode ser armazenada neste formato, em texto simples, tornando -o muito útil. Cada linha ou linha horizontal nos dados representa um único registro de dados e cada registro é composto de campos/colunas únicas ou múltiplas, separadas por vírgulas. O Microsoft Excel também pode ser usado para abrir o arquivo CSV.
Como converter ou escrever um objeto de lista para CSV em Python?
O Python oferece quatro métodos básicos para criar um arquivo CSV a partir de uma lista e uma lista de listas.
Na seção abaixo, explicaremos cada método junto com a implementação prática na forma de exemplos.
Método 1: convertendo uma lista em um arquivo CSV usando o módulo CSV
O módulo CSV do Python simplifica ler e escrever arquivos CSV. Usando a função Open (), primeiro abriremos o arquivo CSV necessário no modo de gravação para usar este módulo. Então, usando o CSV.Função Writer (), podemos escrever o objeto Python List como uma string delimitada em um arquivo criando um objeto de escritor. Com esta função, podemos usar alguns parâmetros.
Exemplo#1: converta um objeto de lista em uma linha CSV
Aqui, escreveremos o código Python para escrever uma lista em uma linha CSV. Vamos importar um módulo CSV primeiro. Uma lista será criada com elementos de dados. Então, vamos criar nosso 'file_name.csv '. O modo "W+" será usado para escrever o arquivo CSV. Você pode obter os valores/elementos na nova linha usando newline = ". O Writerlows () será usado para escrever todas as linhas no arquivo, enquanto “CSV.Writer (arquivo) ”escreve todos os dados da lista no arquivo CSV.
A saída é exibida para nós no formato da linha:
Exemplo#2: converta um objeto de lista em um cabeçalho CSV
Vamos agora ver como converter uma lista em um cabeçalho CSV
Neste exemplo, faremos uma variável após carregar/importar o módulo CSV. Em seguida, usaremos a função Open () para abrir o arquivo. O método do Writer CSV será usado para escrever/converter o objeto da lista em um arquivo CSV. Usando o writerw (), escreveremos os dados da lista na forma de linhas para um arquivo CSV. Novamente, usaremos a função Writerlows () para escrever o cabeçalho dos dados da lista.
O cabeçalho e os elementos da lista são visíveis em nosso arquivo CSV:
Método 2: convertendo uma lista em um arquivo CSV usando o módulo Pandas
Para usar esse método, devemos primeiro converter o objeto da lista em um quadro de dados, que será convertido em um CSV externo. Este método é realmente útil quando precisamos escrever mais de uma lista ou lista de listas para um .Arquivo CSV. Além disso, ele nos permite incluir automaticamente um índice de coluna e nomes de colunas no arquivo resultante.
Exemplo#1: Usando a função to_csv ()
Um quadro de dados de pandas pode ser criado a partir de uma lista de listas, fornecendo acesso a funções úteis como o método to_csv (). O benefício de empregar esse método é que nenhuma biblioteca adicional precisa ser importada.
Arquivo de saída:
Esses parâmetros podem ser usados com esta função para modificar o arquivo de saída:
Método 3: convertendo uma lista em um arquivo CSV usando o módulo Numpy
As funcionalidades de aprendizado de python e de máquina e ciência de dados são construídas em torno de Numpy. Matrizes Numpy são usadas até Pandas para implementar recursos essenciais. O módulo Numpy forneceu algumas funções que podemos usar para escrever o objeto da lista para CSV. Este método é mais eficaz quando você simplesmente tem dados numéricos. Caso contrário, requer transformações complexas de tipo de dados, que não são recomendadas.
Exemplo#1: Usando a função SaveText ()
Usando a função SaveText () de Numpy, você pode criar um arquivo CSV a partir de uma lista de listas. A matriz Numpy será passada como uma entrada para a função.
Arquivo de saída:
No script acima,
Exemplo#2: Usando o Numpy.função tofile ()
A função Tofile () do módulo Numpy é normalmente usada para armazenamento rápido de dados em arquivos de texto ou arquivos binários. Uma lista pode ser gravada em um CSV usando a função Tofile (). A saída, no entanto, será uma linha. Com esta função, você pode especificar o formato dos dados e o caractere delimitador usando o formato e os parâmetros SEP.
Arquivo de saída:
Como pode ser visto, em vez de linhas, tudo está organizado em uma única linha. É necessário primeiro converter a lista em uma matriz antes de usar a função Tofile ().
Método 4: convertendo uma lista em CSV sem importar módulos
Podemos usar a implementação padrão ou básica do Python em vez de importar qualquer biblioteca para criar um arquivo CSV a partir de uma lista de listas porque é simples e eficaz. No entanto, se possível, você deve confiar nas bibliotecas para concluir a tarefa para você.
Exemplo:
O objeto de arquivo será primeiro aberto. O próximo passo é iterar sobre as fileiras e elementos das linhas e depois escrever todos os elementos no arquivo.
Arquivo de saída:
Para criar um formato de arquivo CSV, adicione uma vírgula após cada elemento. O caractere da nova linha “\ n” deve ser colocado após cada linha.
Conclusão
Neste tutorial, vimos pela primeira vez a introdução ao CSV e listamos objetos em pandas. Em seguida, discutimos como a lista pode ser convertida em um arquivo CSV em Python. Explicamos quatro métodos para criar um arquivo CSV a partir de uma lista ou lista de listas. No primeiro método, usamos o módulo CSV. No segundo método, usamos o módulo Pandas para converter a lista em um quadro de dados e depois em CSV. No terceiro método, usamos as funções SaveText () e Tofile () do módulo Numpy. No último método, implementamos um exemplo para criar CSV a partir de um objeto de lista sem importar um módulo.