class
csv.DictReader(csvfile[, fieldnames=None[, restkey=None[,
restval=None[, dialect='excel'[, *args, **kwds]]]]])
Criar um objeto que
funciona como um leitor regular mas mapeia as informações ler em um
dicionário cujas chaves são dadas pelo parâmetro fieldnames
opcional.
Se o parâmetro
fieldnames for omitido, os valores na primeira linha da csvfile vai
ser utilizado como os nomes de campos. [1]
#************************************************************************
#!/usr/bin/python
# -*- coding: utf-8 -*-
#************************************************************************
import csv
#************************************************************************
class Teste(object):
'''Classe
'''
_atributoclasseINVISIVEL = []
atributoclasseVISIVEL = []
def __init__(self):#trata os diretórios como pacotes.
'''init
'''
vatributolocali = 't'
print('init')
def leituraCSV():
'''leitura
'''
vatributolocall = 0
try:
with open('teste.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['primeiro_nome'], row['segundo_nome'])
except:
print('Erro leitura.')
def escritaCSV():
'''escrita
'''
vatributolocale = 3
try:
with open('teste.csv', 'w') as csvfile:
fieldnames = ['primeiro_nome', 'segundo_nome']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'primeiro_nome': 'Ubiratan', 'segundo_nome': 'Uaatsim'})
writer.writerow({'primeiro_nome': 'Lucia', 'segundo_nome': 'Souza'})
writer.writerow({'primeiro_nome': 'Marina', 'segundo_nome': 'Persona'})
except:
print('Erro escrita.')
#************************************************************************
#************************************************************************
if __name__ == '__main__':#pode ser usado como script ou módulo.
Teste()
print ('Classe instanciada - Teste.')
#************************************************************************
Execução do script. |
Arquivo: teste.csv |
#--------------------------------------------------------------------------------------------
def escritaCSV2():
'''escrita
'''
vatributolocale = 3
cabecalho = ['PESSOA 1','PESSOA 2','PESSOA 3']
linha = [{'PESSOA 1':'Lucia Souza','PESSOA 2':'Marina Persona','PESSOA 3':'Marina Persona'}}]
linha2 = [{'PESSOA 1':'Itzá I','PESSOA 2':'Guaranis','PESSOA 3':'Tupinambás'}]
try:
with open('teste2.csv', 'w') as f:
writer = csv.DictWriter(f, fieldnames=cabecalho)
writer.writeheader()
writer.writerows(linha)
writer.writerows(linha2)
except:
print('Erro escrita 2.')
def leituraCSV2():
'''leitura
'''
vatributolocall = 0
try:
with open('teste2.csv') as f:
reader = csv.DictReader(f)
for row in reader:
pass
except:
print('Erro leitura 2.')
print(row['PESSOA 1'], row['PESSOA 2'],row['PESSOA 3'])
#************************************************************************
Arquivo: teste2.csv |
Referências
[1] https://docs.python.org/2/library/csv.html
[2]
.
Nenhum comentário:
Postar um comentário