.
.
segunda-feira, 18 de maio de 2015
terça-feira, 12 de maio de 2015
quarta-feira, 6 de maio de 2015
Escrita e Leitura de CSV como dicionário
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]
.
sábado, 2 de maio de 2015
tkinter - habilitação do botão
try:
import tkinter
from tkinter import ttk
from tkinter import messagebox
from tkinter import StringVar
from tkinter import IntVar
from tkinter import BooleanVar
print('Instanciados os módulos do tkinter.')
except ImportError:
print('Erro na importação dos módulos do tkinter.')
Neste código o botão é ofuscado e a função é executada:
self._bt1 = ttk.Button(self._pagina1, text="Ambiente")
self._bt1.bind("<Button-1>", self._fbt1)
self._bt1.configure(state=tkinter.DISABLED)
Neste código o botão é ofuscado e a função não é executada:
self._bt1 = tkinter.Button(self._pagina1, text='Ambiente', command=self._fbt1)
self._bt1.configure(state=tkinter.DISABLED)
Logo é necessário habilitá-lo com o seguinte código:
self._bt1.configure(state=tkinter.NORMAL)
import tkinter
from tkinter import ttk
from tkinter import messagebox
from tkinter import StringVar
from tkinter import IntVar
from tkinter import BooleanVar
print('Instanciados os módulos do tkinter.')
except ImportError:
print('Erro na importação dos módulos do tkinter.')
Neste código o botão é ofuscado e a função é executada:
self._bt1 = ttk.Button(self._pagina1, text="Ambiente")
self._bt1.bind("<Button-1>", self._fbt1)
self._bt1.configure(state=tkinter.DISABLED)
Neste código o botão é ofuscado e a função não é executada:
self._bt1 = tkinter.Button(self._pagina1, text='Ambiente', command=self._fbt1)
self._bt1.configure(state=tkinter.DISABLED)
Logo é necessário habilitá-lo com o seguinte código:
self._bt1.configure(state=tkinter.NORMAL)
sexta-feira, 1 de maio de 2015
Técnicas e ferramentas
.
Uso do GIT
Inserção de logging, arquivos INI e arquivos CSV.
try:
import csv
print('Instanciados os módulos do csv.')
except ImportError:
print('Erro nas importações dos módulos do csv.')
try:
from configparser import ConfigParser
print('Instanciados os módulos do configparser.')
except ImportError:
print('Erro nas importações dos módulos do configparser.')
try:
import logging
import logging.config
from logging.config import fileConfig
print('Instanciados os módulos do logging.')
except ImportError:
print('Erro nas importações dos módulos do logging.')
A manipulação de arquivos .ini é muito facilitado pela biblioteca configparser do Python.
.
Uso do GIT
Inserção de logging, arquivos INI e arquivos CSV.
try:
import csv
print('Instanciados os módulos do csv.')
except ImportError:
print('Erro nas importações dos módulos do csv.')
try:
from configparser import ConfigParser
print('Instanciados os módulos do configparser.')
except ImportError:
print('Erro nas importações dos módulos do configparser.')
try:
import logging
import logging.config
from logging.config import fileConfig
print('Instanciados os módulos do logging.')
except ImportError:
print('Erro nas importações dos módulos do logging.')
A manipulação de arquivos .ini é muito facilitado pela biblioteca configparser do Python.
.
Assinar:
Postagens (Atom)