XLSX para CSV em Python

Xlsx Para Csv Em Python



Nos últimos anos, o Python se tornou uma das linguagens de programação dominantes. A comunidade Python se expandiu significativamente como resultado da popularidade e utilidade do Python. Entraremos em detalhes neste artigo sobre como usar o Python para converter XLSX em CSV. Estamos cientes de que os arquivos Excel são frequentemente usados ​​para realizar análises financeiras, organizar os dados, entrada de dados, contabilidade, gerenciamento de dados, criar tabelas e gráficos, etc. No entanto, preferimos principalmente usar arquivos CSV para importação e exportação de dados. Uma abordagem é transferir os dados estruturados usando um arquivo de texto simples.

O que é um arquivo Xslx?

Ao criar planilhas nas versões mais recentes do Excel, a Microsoft usa um arquivo XLSX como o tipo de arquivo padrão. Semelhante ao tipo de arquivo DOCX do Word, podemos abrir os arquivos XLSX usando uma variedade de aplicativos/programas.

O que é um arquivo CSV?

O formato de arquivo CSV é o que podemos usar para armazenar os valores de dados tabulares em planilhas e bancos de dados. Os dados tabulares, texto ou texto, são armazenados como texto simples em um arquivo CSV. Um registro no arquivo CSV é o valor de dados armazenado em cada linha do arquivo. Cada registro pode ter mais de um campo separado por vírgulas.







Principais diferenças entre arquivos XLSX e CSV

Os usuários geralmente usam CSV e XLSX de forma intercambiável e geralmente desconhecem as distinções entre eles, quais são suas características fundamentais e como funcionam. Serve apenas como fonte de informação para o usuário. Quase todas as empresas e empresas usam ambos para ajudar os usuários a gerenciar, atualizar e armazenar os dados para o usuário. A seguir estão algumas diferenças importantes entre os arquivos XLSX e CSV que você deve saber:



  • O formato CSV salva dados tabulares em um arquivo de texto delimitador com a extensão .csv. Visto que o arquivo excel ou XLSX é uma planilha que armazena arquivos em seu formato proprietário, viz. xls ou XLSX.
  • Os arquivos do Excel são arquivos binários que contêm os dados de todas as planilhas de uma pasta de trabalho. Considerando que, CSV é um formato de texto puro e simples com uma sequência de valores de dados separados por vírgulas.
  • As operações de dados não podem ser realizadas em arquivos CSV. No entanto, eles podem ser realizados em arquivos do Excel.
  • Os arquivos CSV são mais rápidos e usam menos memória do que os arquivos XLSX. No entanto, o Excel usa mais memória ao importar os dados.
  • Se compararmos o CSV com o Excel, podemos abrir os arquivos CSV em qualquer editor de texto do Windows, enquanto os arquivos do Excel não.

Como um arquivo XLSX pode ser convertido em CSV usando Python?

Um arquivo XLSX pode ser transformado em um arquivo CSV em Python usando vários métodos. O Python inclui uma variedade de módulos e funções que podem nos ajudar a realizar essa tarefa. Aqui, veremos alguns métodos que podem ser usados ​​para converter os arquivos XLSX em arquivos CSV no Python.



Pré-requisitos para realizar a conversão de Excel para CSV

A instalação dos requisitos é a primeira etapa. Usamos os módulos como combinar Pandas, CSV e Openpyxl, etc. neste tutorial. O pacote Pandas do Python permite a manipulação e análise de dados. Pandas é uma biblioteca bem conhecida entre os programadores Python. Arquivos do Excel podem ser lidos e escritos usando o pacote Python conhecido como Openpyxl. Nós não estaremos lidando com esta biblioteca diretamente. Em vez disso, os Pandas usam o Openpyxl internamente.





Usando o repositório PyPI, podemos instalar os dois pacotes:

Método 1: Converter XLSX para CSV usando o módulo Pandas

Exemplo 1: convertendo um arquivo XLSX em CSV



Pandas é um módulo de código aberto criado para a linguagem de programação Python para manipular e analisar os dados. Para trabalhar com séries temporais e tabelas numéricas, o Pandas fornece uma variedade de funcionalidades e recursos. Usando pandas, conjuntos de dados pequenos e grandes podem ser lidos, filtrados e reorganizados. E os resultados podem ser produzidos em vários formatos, como Excel, JSON e CSV. Usamos o método read_excel() do Pandas para ler um arquivo Excel e o método to_csv() para transformar o DataFrame em um arquivo CSV.

Imprimimos nosso arquivo .csv como um DataFrame, como pode ser visto na saída. O script anterior converte nosso arquivo XLSX em CSV e cria um arquivo “salary.csv” no diretório atual.

Exemplo 2: Conversão de arquivo XLSX (com várias planilhas) para CSV

No exemplo a seguir, primeiro lemos os nomes das planilhas do arquivo Excel. Os nomes de planilhas individuais são então repetidos e salvos como arquivos CSV distintos. O script salva CSVs no mesmo local.

Usamos um arquivo XLSX de amostra com duas ou mais planilhas ou planilhas.

Como pode ser visto, nosso arquivo XLSX consiste em duas planilhas (planilha1 e planilha2). Agora, escrevemos um código para converter este arquivo XLSX em CSV.

Resultado:

O script converteu com êxito o arquivo XLSX com duas planilhas em um único arquivo CSV com uma única planilha.

Exemplo 3: convertendo vários arquivos XLSX em arquivos CSV separados

Considere um cenário no qual você precisa converter vários arquivos do Excel em seu diretório de trabalho em CSV. Você poderia empregar este método. Começamos assumindo que cada arquivo contém apenas uma folha. Em seguida, estendemos nosso método para lidar com vários arquivos e várias planilhas. O código Python a seguir faz uso do módulo padrão glob. Nós combinamos os caminhos de arquivo usando padrões com Glob. Ele corresponde a todos os arquivos com a extensão .xlsx no diretório de trabalho. Depois disso, desenvolvemos uma função que lê os arquivos do Excel e os salva como arquivos CSV. Chamamos essa função em cada caminho de arquivo encontrado.

Este script anterior converte todos os arquivos xlsx no diretório atual em arquivos CSV.

Agora, convertemos os arquivos XLSX com várias planilhas em CSV. Esta é provavelmente a parte difícil. Três arquivos do Excel estão em nosso diretório de trabalho. Além disso, alguns deles consistem em mais de uma folha. Visamos:

  1. Crie um diretório para cada arquivo de planilha,
  2. Converta as planilhas do arquivo Excel em CSV e elas devem ser mantidas no diretório recém-criado.

O script converte o XLSX com folhas únicas e múltiplas em arquivos CSV separados e os armazena em novos diretórios com o mesmo nome.

Para recuperar todos os arquivos do Excel localizados no diretório atual, a função glob é usada. Depois disso, as pastas são criadas para cada arquivo XLSX usando a função os.mkdir. Um arquivo CSV é então criado para cada planilha dentro do novo diretório fazendo um loop sobre o nome da planilha.

Método 2: Converter XLSX para CSV usando os módulos Openpyxl e CSV

Neste método, usaremos os módulos openpyxl e CSV para converter os arquivos XLSX em CSV. Para ler e gravar arquivos 2010 xlsx, xlsm, xltx e xltm, o módulo Python openpyxl pode ser usado. O módulo CSV inclui classes que permitem a leitura e gravação de dados tabulares formatados em CSV.

Para ler ou carregar nosso arquivo xlsx, usamos a função load_workbook() do módulo openpyxl. Você pode usar esta função se precisar escrever ou ler um arquivo XLSX/Excel existente em Python. Após a ativação do Excel, utilizamos a função csv.writer() para criar nosso arquivo CSV. Em seguida, o loop for é usado para armazenar os dados nas células de dados do arquivo CSV. Convertemos nosso arquivo example.xlsx em myfile.csv conforme a imagem a seguir:

Conclusão

Neste tutorial, apresentamos uma breve introdução aos arquivos XLSX e CSV. Explicamos as principais diferenças entre os dois formatos de arquivo. Discutimos dois métodos com vários exemplos para ensinar como os arquivos XLSX com uma ou várias folhas podem ser convertidos em arquivos CSV. Implementamos um exemplo para converter vários arquivos XLSX em arquivos CSV simultaneamente. Pode ser simples ou difícil converter os dados do Excel para CSV. Se você tiver apenas um arquivo com um pequeno número de folhas, é simples. Mas se não, pode ser difícil.