CSV (comma-separated-values ou na tradução “valores separados por vírgulas”) é um formato de arquivos bastante usado para armazenamento de dados (em geral, tabelas). Nesse formato, linhas de uma tabela são armazenados em cada linha do arquivo .csv
e cada colunas são separadas por vírgulas (ou outro caractere separador como por exemplo ponto e vírgula ;
ou tabulações \t
).
Caso o item armazenado possua o mesmo caractere utilizado como separador, é utilizado aspas para delimitar a célula. Por exemplo:
id, nome, mensagem 1, Diego, Olá pessoas 2, José, Biscoito recheado é bom 3, Maria, "A vingança nunca é pela, mata alma e envenena"
Neste exemplo, a última célula possuía uma vírgula (o que poderia indicar que a linha possuía quatro colunas, quando na verdade eram três). Nesse caso, aspas foram utilizadas para indicar que todo o conteúdo entre aspas se trata de uma única célula.
Observe ainda que o uso de cabeçalhos é opcional.
Manipulando arquivos CSV com Python
Python fornece a biblioteca csv
para manipulação de arquivos nesse formato.
import csv
Lendo arquivos CSV
Para ler um arquivo CSV, é importante se atentar a três passos:
- Abrir o arquivo
- não se esqueça de indicar a codificação usada (encoding=’utf-8′)
- Ler a tabela
- use a função
csv.reader( )
- use a função
- Navegue pelas linhas usando um laço de repetição
- não precisa usar split, basta indicar a posição da célula
Veja um exemplo prático:
Vamos ler o seguinte arquivo (amostra do arquivo 0_dados_history.csv
):
191149,Diego C B Mariano,97598,SIMBA: a web tool for managing bacterial genome assembly generated by Ion PGM sequencing technology,bmc,2016,5,1 94275,Raquel C de Melo-Minardi,98025,Vermont: a multi-perspective visual interactive platform for mutational analysis,bmc,2017,93,7
Script Python:
import csv
# 1. abrir o arquivo
with open('0_dados_history.csv', encoding='utf-8') as arquivo_referencia:
# 2. ler a tabela
tabela = csv.reader(arquivo_referencia, delimiter=',')
# 3. navegar pela tabela
for l in tabela:
id_autor = l[0]
nome = l[1]
print(id_autor, nome) # 191149, Diego C B Mariano
Gravando arquivos CSV
Para gravar um arquivo CSV, deve-se:
- Criar o arquivo final
- use open
- Criar o objeto de gravação
- use a função
csv.writer(nome-do-arquivo-criado)
- use a função
- Indicar as linhas que serão gravadas
- use
w.writerow([array])
- use
Veja o exemplo a seguir:
import csv
# 1. cria o arquivo
f = open('numero_dobro_triplo.csv', 'w', newline='', encoding='utf-8')
# 2. cria o objeto de gravação
w = csv.writer(f)
# 3. grava as linhas
for i in range(5):
w.writerow([i, i*2, i*3])
# Recomendado: feche o arquivo
w.close()
Cursos profissionalizantes à partir de R$ 22,90