filmes.csv:
Titulo,Genero,Data
Monty Python e o Cálice Sagrado,Comédia,1975
A Vida de Brian,Comédia,1979
- Construtores:
Cria um objeto reader para parsear o arquivo, retornando a sequência de valores de cada linha. Sintaxe: ler_csv = csv.reader(open("arquivo.csv", "rb")).
Cria um objeto writer que pode formatar a sequência de valores e escrever as linhas no arquivo. Sintaxe: escrever_csv = csv.writer(open("arquivo.csv", "wb")).
O csv reader vai ler o arquivo, parseando as vírgulas e aspas, retornando os valores dos elementos de cada linha em uma sequência. O csv writer vai criar um arquivo, adicionando os caracteres necessários, geralmente vírgulas ou aspas.
Para ler os arquivos csv podemos usar um loop nas linhas e o método split ($ python -m pydoc str.split) para pegar as colunas individuais.
split_csv.py:
#!/usr/bin/python # -*- coding: utf-8 -*- # www.zeldani.blogspot.com.br import csv print "### Exemplo 01: ###" for linha in open("filmes.csv"): titulo, genero, ano = linha.split(",") print titulo, ano reader = csv.reader(open("filmes.csv")) print "### Exemplo 02: ###\n" for titulo, genero, ano in reader: print reader.line_num, ano, titulo
Retorno:
### Exemplo 01: ###
Título Ano
Monty Python e o Cálice Sagrado 1975
A Vida de Brian 1979
Monty Python's Flying Circus 1969-74
### Exemplo 02: ###
1 Ano Título
2 1975 Monty Python e o Cálice Sagrado
3 1979 A Vida de Brian
4 1969-74 Monty Python's Flying Circus
A função reader vai pegar a sequência ou o objeto iterável, e vai retorná-lo. No exemplo 02, o line_num vai retornar o número da linha do arquivo.
Para escrever um csv usamos o método writer, no exemplo abaixo foi utilizado o delimitador ";" para separar os elementos e o caractere de acentuação ' " '.
write_csv.py:
write_csv.py:
import csv
csv_original = open('filmes.csv', "rb")
reader = csv.reader(csv_original)
csv_modificado = open('troll.csv', "wb")
writer = csv.writer(csv_modificado, delimiter=';', quotechar='"', quoting=csv.QUOTE_ALL)
for linha in reader:
writer.writerow(linha)
print linha[0], linha[2]
csv_original.close()
csv_modificado.close()
O arquivo troll.csv ficará assim:
"Título";" Gênero";" Ano""Monty Python e o Cálice Sagrado";" Comédia";" 1975"
"A Vida de Brian";" Comédia";" 1979"
Cria um objeto DictReader que pode parsear o arquivo, retornando um dicionário com os valores de cada linha. As chaves do dicionário são geralmente a primeira linha do arquivo. Você pode, opcionalmente, dar nomes aos campos se eles não estiverem na primeira linha do arquivo. O arquivo csv pode ser um objeto iterável.
Cria um objeto DictWriter que pode formatar o valor do dicionário e escrever as linhas do arquivo. Você deve dar a sequência de nomes usado para formatar cada item do dicionário.
dict_csv:
dict_csv:
import csv
csv_file = csv.DictReader(open('filmes.csv', 'rb'), delimiter=',')
for linha in csv_file:
print linha['Titulo']
Monty Python e o Cálice Sagrado
A Vida de Brian
Monty Python's Flying Circus
* Fontes:
http://docs.python.org/2/library/csv.htmlhttp://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/
http://effbot.org/librarybook/csv.htm
http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch34s02.html
http://pt.kioskea.net/faq/10376-python-ler-e-gravar-arquivos-csv
http://www.gadzmo.com/python/reading-and-writing-csv-files-with-python-dictreader-and-dictwriter/
0 comentários:
Postar um comentário