Manipulando arquivos com Python é possível que você realize diversas tarefas de otimização e análise de dados que podem facilitar e muito sua rotina. Certamente, ter a possibilidade de manipular arquivos de texto, seja para realizar atividades de leitura, escrita ou mesmo de gerar novos arquivos é algo essencialmente valioso e útil no dia a dia de qualquer entusiasta em programação.
Nesse sentido, nós da MeuGuru decidimos trazer para vocês esse artigo contendo um rápido e prático tutorial sobre como você pode, facilmente, manipular arquivos com Python. Em particular, mostraremos que você poderá ler, escrever e até mesmo ser capaz de gerar novos arquivos em Python. Ademais, mostraremos em uma rápida aplicação como você pode usar tais técnicas para analisar uma tabela de dados csv e gerar então gráficos importantes para seu projeto. Então gurunauta, vem com a gente que hoje vamos nos aprofundar em um tópico muito interessante no ecossistema Python.
Arquivos de texto: Conheça os .txt e .csv
Antes de tudo é importante que você conheça dois importantes tipos de saída de arquivos: os .txt e .csv. Em suma, a extensão de um arquivo diz, em geral, que tipo de arquivo ele é, por exemplo, os famosos .pdf são arquivos de leitura de texto, os arquivos .doc,.docx e demais similares fazem parte da ampla quantidade de extensões aceitas pelo pacote office e outras suites. Bom, no entanto, nosso foco será os arquivos com extensões .txt e .csv pois muitas vezes são esses os arquivos que serão úteis para seus códigos.
Arquivos .txt
Com efeito, os arquivos com extensão .txt são, provavelmente, os arquivos de texto mais simples, porém, mais leves possíveis. Em suma, esses arquivos não possuem uma formatação definida, isto é, sequer há caracteres, fontes, cores ou imagens. Ademais, podemos usar esses arquivos ainda como locais para escrita de códigos, no entanto, eles não possuem quaisquer funcionalidades que alguns programas podem te funcionar, certamente, os mesmos são tão simples que podem ser gerados simplesmente com programas como Bloco de Notas no Windowns, Vi/Vim no linux e TextEdit no MacOs.
Manipulando arquivos .csv
Em contraste aos simples arquivos .txt, temos os arquivos .csv. Em suma, essa extensão significa “Comma-Separated Values” (Valores Separados por Vírgula) a qual indica rapidamente que esses arquivos seguem uma dada organizando em que vírgulas as quais delimitam diferentes colunas. Ou seja, podemos usar esses arquivos para realizar tabulações, planilhas ou alguns simples bancos de dados, inclusive, esses arquivos são padrão para offices similares ao Microsoft Excel.
Além disso, os arquivos .csv também podem ser separados por outros delimitadores além da vírgula como ponto e ponto vírgula. Esses arquivos, são, por vezes, empregados para armazenamento de dados tabulares, em particular, mostraremos em nossa aplicação um exemplo prático desses.
Manipulando arquivos: Parte 1 – interagindo com arquivos em Python
Uma vez que você já conhece as duas principais extensões de arquivos podemos passar para a parte prática e atacar alguns problemas interessantes. Certamente, há muito o que podemos fazer então, primeiro de tudo iremos criar um arquivo de texto .txt com nome MeuGuru-1 e escreveremos o texto “Olá, mundo da MeuGuru” e iremos executar no Colab. Com efeito, o código a seguir é exatamente o que mencionamos.
Em verdade, a função open(“nome do arquivo”, “tipo de permissão”) permite que você abra um arquivo com nome dado, porém, é importante dizer que, você pode realizar tal função mesmo sem a existência prévia de tal arquivo, que é o que fizemos acima. Ademais, há outros tipos de permissão que são os seguintes:
Manipulando arquivos: Parte 2 – Lendo arquivos com Python
A seguir apresentamos algumas outras funções que podemos usar feito a abertura de um arquivo, a seguir apresentamos algumas delas seguidas de comentários identificando exatamente cada funcionalidade.
As funcionalidades que usamos foram:
- arquivo = open(“teste.text”, “w”). Realiza a atribuição para a variável arquivo do documento teste.txt com permissão de escrita “w”.
- arquivo.writelines(lista). Escreve todos os elementos de lista em arquivo.
- arquivo.close(). Encerra o uso da variável arquivo.
- arquivo = open(“teste.text”, “r”). Realiza a atribuição para a variável arquivo do documento teste.txt com permissão de leitura “r”.
- arquivo.readline(). Realiza a leitura da primeira linha do documento na variável arquivo. Pode-se usar ainda a versão arquivo.readline(n) que fornece os n primeiros strings da primeira linha do documento na variável arquivo.
- arquivo.read(). Faz a leitura de todas as linhas, menos da primeira linha do documento na variável arquivo.
Manipulando arquivos para obtenção de dados gráficos
Certamente, uma das grandes maravilhas de saber e poder manipular arquivos em Python é sua utilização para a análise de dados, em particular para a geração de gráficos. Com efeito, no código acima nós geramos um gráfico em de barras com a função .bar() do matplotlib, perceba ainda que realizamos a abertura do arquivo com nível de permissão de leitura. Por conseguinte, realizamos a leitura do arquivo iterando um loop for numa variável que chamamos de line. Em verdade, podemos fazer loops direto nos arquivos, em que, as variáveis iteradas admitem como valor exatamente a linha do arquivo texto selecionado.
Não obstante, utilizamos o método strip(“,”) para o tratamento da lista line que é separada pelo delimitador indicado por vírgula. Sendo que o colchete em seguida define que número pegaríamos, isto é, X, Y1 ou Y2. Por fim, perceba ainda que nós realizamos a introdução de uma estrutura condicional if no início do Loop for, decerto, isso ocorre em decorrência de querermos eliminar a primeira linha ao passo que ela contém strings que podem e iriam gerar problemas na hora de realizarmos a plotagem gráfica.
Dessa forma, obtemos a leitura de um arquivo csv, extraímos dados a partir dele e, por fim, realizamos a visualização gráfica do mesmo através do matplotlib. Não obstante, veja que você pode realizar muito mais que apenas gerar um gráfico. Uma vez que, ao acessar arquivos .csv é possível que você gere diversos dados que podem ser armazenados em diferentes estruturas como listas, e afins. Assim, segue que com isso é possível que você realize diferentes tratamentos e análises. Logo, nós recomendamos que você veja funções e métodos das bibliotecas numpy e scipy que podem te ajudar grandemente em trabalhos de estatística.
Referências
- NumPy. A fundamental package for scientific computing with Python. Disponível em: https://numpy.org/. Acesso em: 25 de março de 2024.
- HUNTER, John D. Matplotlib: A 2D graphics environment. Computing in Science & Engineering, v. 9, n. 3, p. 90-95, 2007. Disponível em: https://doi.org/10.1109/MCSE.2007.55. Acesso em: 25 de março de 2024.
- Matplotlib Development Team. Matplotlib: Visualization with Python. Disponível em: https://matplotlib.org/. Acesso em: 01 de abril de 2024.
- SWEIGART, Al. Automate the Boring Stuff with Python. 1ª edição. San Francisco: No Starch Press, 2015.