Example #1
0
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()
Example #2
0
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
Example #3
0
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
Example #4
0
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()
Example #5
0
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]
Example #6
0
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))
Example #7
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

for i, loc in enumerate(entrada):
    if i == 0:
Example #8
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