Atualmente, estou carregando meus dados do inversor solar para o PVOutput usando uma máquina Linux e um script Perl construído do zero. Quero adicionar os dados do medidor do meu fornecedor de energia. Eu tenho um arquivo CSV de 87.000 linhas baixado do meu fornecedor de energia que contém os seguintes dados (amostra):
NMI,Meter Serial Number,Stream,Register Number,Register Description,UOM,ReadingDate,Units,Read Type<br>
700555,7006444,B,B1,Solar energy,kWh,23-09-21 23:45,0, Actual
700555,7006444,E,E1,Offpeak, kWh,23-09-21 23:45,0.093, Actual
700555,7006444,B,B1,Solar energy,kWh,23-09-21 23:30,0, Actual
700555,7006444,E,E1,Offpeak, kWh,23-09-21 23:30,0.085, Actual
700555,7006444,B,B1,Solar energy,kWh,23-09-21 23:15,0, Actual
700555,7006444,E,E1,Offpeak, kWh,23-09-21 23:15,0.085, Actual
Criando uma coluna virtual (MyDate) e usando o seguinte selecione:
select MyDate, "Register Description", sum(Units)
from MeterData group by MyDate, "Register Description"
Consegui massagear os dados no SQLite para me fornecer:
20210920|Offpeak|3.821
20210920|Peak|4.954
20210920|Shoulder|5.695
20210920|Solar energy|2.958
20210921|Offpeak|3.831
20210921|Peak|4.41
20210921|Shoulder|4.428
20210921|Solar energy|4.354
20210922|Offpeak|4.355
20210922|Peak|6.572
20210922|Shoulder|1.961
20210922|Solar energy|7.217
Mas para upload para PVOutput, o formato que estou procurando é:
20210919|Offpeak|3.514|Peak|8.453|Shoulder|7.445|Solar energy|2.792
20210920|Offpeak|3.821|Peak|4.954|Shoulder|5.695|Solar energy|2.958
20210921|Offpeak|3.831|Peak|4.410|Shoulder|4.428|Solar energy|4.354
20210922|Offpeak|4.355|Peak|6.572|Shoulder|1.961|Solar energy|7.217
Como você pode ver, minhas habilidades em SQL são fracas e qualquer ajuda seria muito apreciada.
Fil.
A agregação condicional simples deve fazer o truque:
Uma sintaxe alternativa é remover o
filter
e usarcase