2. Tipo de Arquivos¶
- Arquivos TXT
- Arquivos CSV
- Arquivos JSON
2.1. Manipulando Arquivos TXT¶
# textos 1
texto = "Cientista de Dados é a profissão que mais tem crescido em todo mundo.\n"
# texto 1 concatena com texto 2
texto = texto + "Esses profissionais precisam se especializar em Programação, Estatística e Machine Learning.\n"
# texto concatena com texto 3
texto += "E claro, em Big Data."
print(texto)
Cientista de Dados é a profissão que mais tem crescido em todo mundo.
Esses profissionais precisam se especializar em Programação, Estatística e Machine Learning.
E claro, em Big Data.
2.2. O Módulo Operating System (OS)¶
- O pacote OS serve para manipular o sistema operacional, ele é super útil em várias situações como:
- Manipular arquivos
- Manipular diretórios
- E até o Sistema Operacional utilizando variáveis de ambientes.
# Importando o módulo 'os' (operate system)
import os
2.2.1. Criando arquivo¶
# Criando um arquivo para escrita 'w'
arquivo = open(os.path.join('arquivos/cientista.txt'),'w')
# Gravando os dados no arquivo
for palavra in texto.split():
arquivo.write(palavra+' ')
# Fechando o arquivo
arquivo.close()
2.2.2. Lendo o arquivo¶
# Lendo o arquivo
arquivo = open('arquivos/cientista.txt','r')
conteudo = arquivo.read()
arquivo.close()
print(conteudo)
Cientista de Dados é a profissão que mais tem crescido em todo mundo. Esses profissionais precisam se especializar em Programação, Estatística e Machine Learning. E claro, em Big Data.
2.2.3. Usando a expressão with¶
O método close() é executado automaticamente
# Na expressão abaixo lêia-se: Com o arquivo cientista.txt aberto para leitura (r) como arquivo, faça a relituda de seu conteúdo (read)
with open('arquivos/cientista.txt','r') as arquivo:
conteudo = arquivo.read()
print(len(conteudo))
185
arquivo.close()
print(conteudo)
Cientista de Dados é a profissão que mais tem crescido em todo mundo. Esses profissionais precisam se especializar em Programação, Estatística e Machine Learning. E claro, em Big Data.
with open('arquivos/cientista.txt','w') as arquivo:
arquivo.write(texto[:21])
arquivo.write('\n')
arquivo.write(texto[:33])
# Lendo o arquivo
arquivo = open('arquivos/cientista.txt','r')
conteudo = arquivo.read()
arquivo.close()
print (conteudo)
Cientista de Dados é
Cientista de Dados é a profissão
2.2.4. Manipulando Arquivos CSV (comma-separated values )¶
# Importando o módulo csv
import csv
# com o numeros.csv aberto para a escrita como arquivo, escreva:
with open('arquivos/numeros.csv','w') as arquivo:
writer = csv.writer(arquivo)
writer.writerow(('primeira','segunda','terceira'))
writer.writerow((55,93,76))
writer.writerow((62,14,86))
# Leitura de arquivos csv
with open('arquivos/numeros.csv','r') as arquivo:
leitor = csv.reader(arquivo)
for x in leitor:
print ('Número de colunas:', len(x))
print(x)
Número de colunas: 3
['primeira', 'segunda', 'terceira']
Número de colunas: 0
[]
Número de colunas: 3
['55', '93', '76']
Número de colunas: 0
[]
Número de colunas: 3
['62', '14', '86']
Número de colunas: 0
[]
# Código alternativo para eventuais problemas com linhas em branco no arquivo
with open('arquivos/numeros.csv','r', encoding='utf8', newline = '\r\n') as arquivo:
leitor = csv.reader(arquivo)
for x in leitor:
print ('Número de colunas:', len(x))
print(x)
Número de colunas: 3
['primeira', 'segunda', 'terceira']
Número de colunas: 3
['55', '93', '76']
Número de colunas: 3
['62', '14', '86']
# Gerando uma lista com dados do arquivo csv
with open('arquivos/numeros.csv','r') as arquivo:
leitor = csv.reader(arquivo)
dados = list(leitor)
print (dados)
[['primeira', 'segunda', 'terceira'], [], ['55', '93', '76'], [], ['62', '14', '86'], []]
# Impriminfo a partir da segunda linha
for linha in dados[1:]:
print (linha)
[]
['55', '93', '76']
[]
['62', '14', '86']
[]
2.2.5. Manipulando Arquivos JSON (Java Script Object Notation )¶
- JSON (JavaScript Object Notation) é uma maneira de armazenar informações de forma organizada e de fácil acesso.
- Ele nos dá uma coleção legível de dados que podem ser acessados de forma muito lógica.
- Pode ser uma fonte de Big Data.
# Criando um dicionário
dict = {'nome': 'Guido van Rossum',
'linguagem': 'Python',
'similar': ['c','Modula-3','lisp'],
'users': 1000000}
for k,v in dict.items():
print (k,v)
nome Guido van Rossum
linguagem Python
similar ['c', 'Modula-3', 'lisp']
users 1000000
# Importando o módulo Json
import json
# Convertendo o dicionário para um objeto json
json.dumps(dict)
'{"nome": "Guido van Rossum", "linguagem": "Python", "similar": ["c", "Modula-3", "lisp"], "users": 1000000}'
# Criando um arquivo Json
with open('arquivos/dados.json','w') as arquivo:
arquivo.write(json.dumps(dict))
# Leitura de arquivos Json
with open('arquivos/dados.json','r') as arquivo:
texto = arquivo.read()
data = json.loads(texto)
print (data)
{'nome': 'Guido van Rossum', 'linguagem': 'Python', 'similar': ['c', 'Modula-3', 'lisp'], 'users': 1000000}
print(data['nome'])
Guido van Rossum
# Imprimindo um arquivo Json copiado da internet
from urllib.request import urlopen
response = urlopen("http://vimeo.com/api/v2/video/57733101.json").read().decode('utf8')
data = json.loads(response)[0]
print ('Título: ', data['title'])
print ('URL: ', data['url'])
print ('Duração: ', data['duration'])
print ('Número de Visualizações: ', data['stats_number_of_plays'])
Título: The Good Man trailer
URL: https://vimeo.com/57733101
Duração: 143
Número de Visualizações: 5783
# Copiando o conteúdo de um arquivo para outro
import os
arquivo_fonte = 'arquivos/dados.json'
arquivo_destino = 'arquivos/json_data.txt'
# Método 1
with open(arquivo_fonte,'r') as infile:
text = infile.read()
with open(arquivo_destino,'w') as outfile:
outfile.write(text)
# Método 2
open(arquivo_destino,'w').write(open(arquivo_fonte,'r').read())
107
# Leitura de arquivos Json
with open('arquivos/json_data.txt','r') as arquivo:
texto = arquivo.read()
data = json.loads(texto)
print(data)
{'nome': 'Guido van Rossum', 'linguagem': 'Python', 'similar': ['c', 'Modula-3', 'lisp'], 'users': 1000000}