e
quer mais?
Me paga um café! :) PIX consultoria@carlosdelfino.eti.br
Curta o post no final da página, use o Disqus, compartilhe em sua rede social. Isso me ajuda e motiva
Obrigado.
Umas das principais formas de se obter dados para o Python é através de arquivos estruturados como no formato CVS, iremos ver neste artigo como lidar com arquivos de forma bem simples e didática.
Não usaremos neste artigo nenhuma ferramenta que possa tornar este trabalho mais simples, e elas existem, por exemplo o Pandas que foi comentado brevemente numa postagem anterior, visto que nosso intuito é didático que queremos ir construindo o conhecimento sobre a linguagem no contexto mais básico.
A forma mais correta de abrir um arquivo é usando a estrutura de controle with
, com ela temos um bloco que irá manipular o arquivo e quando o bloco finalizar este será automáticamente fechado, e caso algo dê errado, ele cuidará do processo para fechar-lo corretamente. Mas a abertura do arquivo é feita pela função open()
que recebe alguns argumentos conforme suas intenções com o arquivo.
Vamos usar o exemplo a seguir para entender como tudo isso funciona.
Baixe-o arquivo que usaremos em nossos estudosclicando aqui, este arquivo é um dos arquivos de cotação da bolsa de valores, usaremos apartir de agora arquivos reais da bolsa para nossos exemplos. Ao baixar o arquivo grave-o na pasta que está usando para seus estudos. No meu caso uso a pasta $HOME/workspace/curso_python
, substitua o caminho para onde está guardando os arquivos deste curso.
O exemplo acima é bem simples, na primeira linha cria-se o bloco de códigos com with
então o arquivo é aberto somente para leitura com codificação iso-8859-1, em seguida atribui o objeto arquivo a variável cot
.
O primeiro argumento é o nome do arquivo a ser aberto, pode-se informar o nome com o caminho completo ou relativo.
O segundo argumento informa como o arquivo será aberto, podemos abrir o arquivo como somente leitura r
, somente escrita w
, e leitura e escrita r+
. Se não informamos o modo que o arquivo deve ser aberto será aberto como sendo somente leitura.
O terceiro argumento é nomeado como encoding
, com ele informamos qual a codificação do arquivo, veja que se não informamos qual a codificação a função open
usará a padrão do sistema operacional, UTF-8 para Linux e ISO-8859-1 para windows, no caso nosso arquivo foi criado no windows, mas estou usando o Linux, assim informei a codificação adequada.
As linhas subsequentes são identas pois fazem parte do bloco with
.
A segunda linha defino uma variável que irá contabilizar o número de linhas.
Na terceira até a quarta linha defino um loop que procesa o arquivo, como pode ver na linha se cria o loop, uso uma estrutura onde o for
trata o arquivo aberto como um objeto do tipo interable, estes tipos de objeto sempre que são acessados pelo for
retonam o próximo valor como em uma fila, no caso de um objeto arquivo criado com open
está pronto para ser usado como manipulado pelo for
, a cada interação uma linha é retornada.
E finalmente ele contabiliza a linha e em seguida imprime seu conteúdo.
Conclusão
Nosso objetivo neste artigo foi apresentar rapidamente como lidar com arquivos, em artigos futuros aprofundaremos no tema.
Neste artigo você aprendeu a abrir o arquivo, a contar as linhas e finalmente obter seu conteúdo.
Fontes:
- https://cieda.com.br
- https://pt.wikipedia.org/wiki/Python
- https://docs.python.org/pt-br/3/tutorial/inputoutput.html#reading-and-writing-files
- https://gist.github.com/carlosdelfino/f17caa6c66cd2b96c5715edeb6b624a3
- https://gist.github.com/carlosdelfino/ac57eaef9b502c43895aa10dd7e40689
Não deixe de me pagar um café, faz um PIX: consultoria@carlosdelfino.eti.br de qualquer valor.