Jump to content

SUPER OFERTA!
Compre o Delphi com 45% de desconto

botao_delphi.png

110.png

Curso Gratuito para todos Usuários
+ Super Treinamento Assinando o SAC Anual

botao_campanha_thulio.png

sem_ttulo-620.fw_-e1583866078274.png 

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Search the Community

Showing results for tags 'postgresql'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Categories

  • ACBrMonitorPLUS - Notas de Lançamento de Versão

Categories

  • ACBrLibNFe - Notas de Lançamento de Versão

Forums

  • Fórum Aberto - ACBr
    • ACBr News
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrMonitor PLUS
    • ACBrDFe
    • ACBrTEFD e Dúvidas sobre TEF
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrLIB
    • Dia do ACBr
  • Suporte Pago - SAC
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • ACBr's Pub
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Data Base
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categories

  • ACBrLib
  • Suporte Pago - SAC
    • ACBrMonitorPLUS - SAC
    • Utilitários - SAC
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Free Download
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendars

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Community Calendar
  • Feriados Nacionais

Blogs

  • Daniel Simoes' Blog
  • André Ferreira de Moraes
  • Moderadores ACBr
  • Teste de Blog
  • Notícias do ACBr

Categories

  • Suporte Pago - SAC
    • Curso Dominando o ACBrMonitor
    • Webinars
    • Video Aulas
    • Palestras - Dia do ACBr 2a Ediçao
  • Vídeos Abertos
    • Video Aulas
    • Comunicados
    • Dia do ACBr 2a Ediçao
    • Dia do ACBr 1a Ediçao
    • Homologação ACBr
  • Campanhas promocionais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Localização


Interesses


CNPJ da Empresa


CPF

Found 3 results

  1. Leivio Fontenele

    Leivio

    Consultoria e Desenvolvimento Experiência em grandes softwares do varejo ou para grandes corporações financeiras. Delphi, Lazarus, C# (Visual Studio) ou Python SQL Server/Firebird/PostGreSQL/MySQL/MongoDB/SQLite/Oracle Consultoria e Desenvolvimento Experiência em grandes softwares do varejo ou para grandes corporações financeiras. Delphi, Lazarus, C# (Visual Studio) ou Python SQL Server/Firebird/PostGreSQL/MySQL/MongoDB/SQLite/Oracle
  2. O meu sistema funciona da seguinte maneira: Tenho 1517 sensores que armazenam em cada dia do ano, uma certa precipitação que é medida de três em três horas durante todo o dia. Tenho uma tabela chamada pontos que tem as seguintes colunas: gid (que é a chave primária de cada sensor), latitude, longitude. E tenho uma outra tabela chamada historico que tem as seguintes colunas: id (que é a chave primária de cada historico), datah, horah, precipitacaoh, gidgeo_fk (que é a chave estrangeira que represente os sensores). Fiz um script em python para armazenar cada sensor em um arquivo chamado sensor.csv, que armazena também cada hora distinta em outro arquivo chamado data.csv, e armazena também a precipitação e hora em arquivos separados. Depois crio um arquivo que faz um relacionamento entre todos estes pontos. O problema é que são 1517 sensores, e eu estava testando isso pra ver se dava tudo certo para 1 sensor apenas, ou seja, ele pega um sensor e armazena todo o histórico deste sensor em arquivos, juntamente com os relacionamentos, mas isso está demorando 192 minutos mais ou menos, PARA APENAS UM SENSOR, pra fazer isso para 1517 sensores iria levar mais de 200 dias! Gostaria que alguém me ajudasse a diminuir este tempo drasticamente, sem ter que mexer em index e etc. Creio que seja o jeito que estou programando o meu script, mas não sei onde estou programando errado. Alguém pode me ajudar? Abaixo está o código do meu script. import psycopg2 import csv conn = psycopg2.connect("\ dbname='bdTrmmTest'\ user='postgres'\ host='127.0.0.1'\ password='1234'\ "); csv_sensor = open('sensor.csv',"w") csv_data = open('data.csv',"w") csv_hora = open('hora.csv',"w") csv_precipitacao = open('precipitacao.csv',"w") csv_rels = open('rels.csv',"w") labelSensor = 'Sensor' labelData = 'Data' labelHora = 'Hora' labelPrecip = 'Precipitacao' labelAS = 'AS' labelEM = 'EM' labelREGISTROU = 'REGISTROU' contGeral = 0 c = conn.cursor() c1 = conn.cursor() c2 = conn.cursor() c3 = conn.cursor() writer = csv.writer(csv_sensor) writer2 = csv.writer(csv_data) writer3 = csv.writer(csv_hora) writer4 = csv.writer(csv_precipitacao) writer5 = csv.writer(csv_rels) writer.writerow(('name:ID', 'IDPostgres', 'latitude', 'longitude', ':LABEL')) writer2.writerow(('data:ID','vdata',':LABEL')) writer3.writerow(('hora:ID','vhora',':LABEL')) writer4.writerow(('precip:ID','valor',':LABEL')) writer5.writerow((':START_ID',':END_ID',':TYPE')) c.execute("SELECT DISTINCT gid, latitude, longitude FROM pontos LIMIT 1") c1.execute("SELECT DISTINCT datah FROM historico") c3.execute("SELECT DISTINCT horah FROM historico") records = c.fetchall() records1 = c1.fetchall() records3 = c3.fetchall() for contSensor in records: print("Escrevendo sensor %d"%(contSensor[0])) writer.writerow((contGeral,contSensor[0], contSensor[1], contSensor[2], labelSensor)) print("Sensor %d escrito"%(contSensor[0])) contSensorFlag = contGeral contGeral += 1 for contReg in records1: contData = contGeral print("Escrevendo data %s"%(contReg[0])) writer2.writerow((contGeral, contReg[0], labelData)) print("Data %s escrita"%(contReg[0])) #escreve relacionamento entre sensor e data print("Escrevendo relacionamento entre sensor %d e data %s"%(contSensor[0],contReg[0])) writer5.writerow((contSensorFlag,contData, labelEM)) print("Relacionamento entre sensor %d e data %s escrito"%(contSensor[0],contReg[0])) contGeral += 1 for contReg3 in records3: c2.execute("SELECT precipitacaoh FROM historico WHERE gidgeo_fk = %d AND datah = '%s' AND horah = %d"%(contSensor[0],contReg[0],contReg3[0])) records2 = c2.fetchall() contHora = contGeral print("Escrevendo hora %d"%(contReg3[0])) writer3.writerow((contGeral, contReg3[0], labelHora)) print("Hora %d escrita"%(contReg3[0])) contGeral += 1 #escreve relacionamento entre data e hora print("Escrevendo relacionamento entre data %s e hora %d"%(contReg[0],contReg3[0])) writer5.writerow((contData,contHora, labelAS)) print("Relacionamento entre data %s e hora %d escrito"%(contReg[0],contReg3[0])) for contReg2 in records2: contPrecip = contGeral print("Escrevendo precipitacao %s"%(contReg2[0])) writer4.writerow((contGeral,contReg2[0], labelPrecip)) print("Precipitacao %s escrita"%(contReg2[0])) #escreve relacionamento entre hora e precipitacao print("Escrevendo relacionamento entre hora %d e precipitacao %s"%(contReg3[0],contReg2[0])) writer5.writerow((contHora,contPrecip, labelREGISTROU)) print("Relacionamento entre hora %d e precipitacao %s escrito"%(contReg3[0],contReg2[0])) contGeral += 1 csv_sensor.close() csv_data.close() csv_hora.close() csv_precipitacao.close() csv_rels.close() print(open('sensor.csv', 'rt').read())
×
×
  • Create New...