Search the Community
Showing results for tags 'csv'.
-
Pessoal, de tempos em tempos acontece de alguns NCM vencerem e nisto precisamos trocar por novos. Eu gostaria de saber como vcs fazem para realizar esta correção de NCM, que seria pegar o NCM que está inválido (vencido por exemplo e número que já existiu na lista anteriormente) e trocar por um que está válido. Acontece vez ou outra em alguns clientes a rejeição "778: Informado NCM inexistente" e quero ver uma forma de automatizar isto. Poderiam me dar dicas?
-
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())
- 1 reply
-
- postgresql
- sql
-
(and 2 more)
Tagged with:
-
Olá. Estou tentando utilizar o componente ACBrIBPTax para baixar e usar os dados de NCM na minha aplicação, mas não estou conseguindo fazer o download do arquivo. Tentei os paths: http://regys.com.br/arquivos/AcspDeOlhoNoImpostoIbptV.0.0.1.csv svn://svn.code.sf.net/p/acbr/code/trunk/Exemplos/ACBrIBPTax/tabela/AcspDeOlhoNoImpostoIbptV.0.0.2.csv (<== Esse inclusive também não funciona no exemplo do ACBr, nem o link anterior) O exemplo está simples de entender, mas não funciona também, então não tenho como me nortear nesse caso. Grato.
- 3 replies
-
- Erro
- ACBrIBPTax
-
(and 3 more)
Tagged with: