def imp_socr(f): rd = dbf_rw.dbfreader(open(f, "rb")) print "file:", f fields, type = rd.next(), rd.next() print "fields:", map(lambda x, y: str(x) + str(y), fields, type) curs = conn.cursor() # @UndefinedVariable curs.execute("delete from kladr_socr") line = 0 for dbf_row in rd: line += 1 r = [unicode(r, "cp866").strip() for r in dbf_row] curs.execute("insert into kladr_socr(socr,name,level,tcode) values (%s,%s,%s,%s)", (r[1], r[2], r[0], r[3])) trs.commit_unless_managed() # - print "lines:", line rd.close()
def estatisticas(): arq_dbf = BZ2File("BR_Localidades_2010_v1.dbf.bz2") localidades = dbfreader(arq_dbf) nomes = [] tipos = [] # ler dois primeiros registros para extrair a definicao dos campos for i, loc in enumerate(localidades): if i == 0: nomes = loc elif i == 1: tipos = loc else: break campos = [Campo(n, t) for n, t in zip(nomes, tipos)] for loc in localidades: for campo, valor in zip(campos, loc): campo.checar(valor) return campos
def estatisticas(): arq_dbf = BZ2File('BR_Localidades_2010_v1.dbf.bz2') localidades = dbfreader(arq_dbf) nomes = [] tipos = [] # ler dois primeiros registros para extrair a definicao dos campos for i, loc in enumerate(localidades): if i == 0: nomes = loc elif i == 1: tipos = loc else: break campos = [Campo(n, t) for n, t in zip(nomes, tipos)] for loc in localidades: for campo, valor in zip(campos, loc): campo.checar(valor) return campos
def imp_doma(f): rd = dbf_rw.dbfreader(open(f, 'rb')) print 'file:', f fields, type = rd.next(), rd.next() print 'fields:', map(lambda x, y: str(x) + str(y), fields, type) curs = conn.cursor() # @UndefinedVariable curs.execute('delete from kladr_doma') line = 0 for dbf_row in rd: line += 1 r = [unicode(r, 'cp866').strip() for r in dbf_row] curs.execute( "insert into kladr_doma(code,name,korp,indx)" + " values (%s,%s,%s,%s)", (r[3], r[0], r[1], r[4]) ) trs.commit_unless_managed() print "lines:", line rd.close()
from dbf_rw import dbfreader from pprint import pprint from bz2 import BZ2File arq_dbf = BZ2File('BR_Localidades_2010_v1.dbf.bz2') localidades = dbfreader(arq_dbf) nomes = [] tipos = [] localidades = list(localidades) print 'Primeira localidade:' for i, loc in enumerate(localidades): if i == 0: nomes = loc elif i == 1: tipos = loc else: pprint(zip(nomes, loc)) break print print 'Total:', len(localidades)-2, 'localidades' print 'Tipos dos campos:', [t[0] for t in tipos]
from dbf_rw import dbfreader from pprint import pprint from bz2 import BZ2File ENCODING_DBF = 'cp1252' arq_dbf = BZ2File('BR_Localidades_2010_v1.dbf.bz2') localidades = dbfreader(arq_dbf) nomes = [] tipos = [] for i, loc in enumerate(localidades): if i == 0: nomes = loc elif i == 1: tipos = loc else: break pprint(zip(nomes, tipos))
# coding: UTF-8 from dbf_rw import dbfreader from pprint import pprint from bz2 import BZ2File from json import dump, dumps arq_dbf = BZ2File('BR_Localidades_2010_v1.dbf.bz2') entrada = dbfreader(arq_dbf) nomes = [] tipos = [] localidades = [] # partes de nomes que devem ser em caixa baixa CX_BAIXA = u'Da Das De Do Dos' CX_BAIXA = [u' %s ' % p for p in CX_BAIXA.split()] # expressoes que devem ser mantidas em CAIXA ALTA CX_ALTA = u'AUI' # área urbana isolada def caixa_mista(s): if s.upper() == CX_ALTA: return s.upper() s = s.title() for p in CX_BAIXA: s = s.replace(p, p.lower()) return s for i, loc in enumerate(entrada): if i == 0:
# coding: UTF-8 from dbf_rw import dbfreader from pprint import pprint from bz2 import BZ2File from json import dump, dumps arq_dbf = BZ2File('BR_Localidades_2010_v1.dbf.bz2') entrada = dbfreader(arq_dbf) nomes = [] tipos = [] localidades = [] # partes de nomes que devem ser em caixa baixa CX_BAIXA = u'Da Das De Do Dos' CX_BAIXA = [u' %s ' % p for p in CX_BAIXA.split()] # expressoes que devem ser mantidas em CAIXA ALTA CX_ALTA = u'AUI' # área urbana isolada def caixa_mista(s): if s.upper() == CX_ALTA: return s.upper() s = s.title() for p in CX_BAIXA: s = s.replace(p, p.lower()) return s