Keep only both end lines from a csv file

Dear all,

I have a LEGRAND EcoCompteur which provide a log1.csv file over a http link http://192.168.1.xxx/log1.csv
Each line give daily counters index. A new line is added each day at the end of this file meaning that the file is growing each day.

In order to know my daily power consumption, I need to compare the index of the last day with the previous one meaning that means I need to read the both end lines of the csv file.

My idea is :

  • 01 => Record the http data into a dedicated *.csv file
  • 02 => Count rows number *.csv file in order to determine
    max row index
  • 03 => Delete all rows before "MaxIndex - 1" in order to keep only the both end lines
  • 04 => Read values from this new *.csv file which have a constant size

Could you please help me to do this kind of exercise ?

csv raw data :

1;12;20;23;58;18262.445;2658.207;5954.879;848.062;2100.714;307.927;492.416;65.134;2000.809;276.293;144.684;22.524;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2;12;20;23;58;18287.658;2661.88;5968.3;849.842;2103.158;308.33;493.306;65.246;2002.172;276.457;144.694;22.526;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
3;12;20;23;58;18316.199;2666.01;5980.35;851.464;2106.168;308.94;494.387;65.382;2005.311;276.852;144.704;22.527;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
4;12;20;23;58;18342.113;2669.744;5990.712;852.828;2108.199;309.36;495.607;65.534;2007.743;277.163;144.714;22.529;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
5;12;20;23;58;18363.975;2672.943;6003.19;854.491;2110.021;309.683;495.724;65.549;2008.958;277.292;144.724;22.53;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
6;12;20;23;58;18385.09;2676.027;6015.726;856.194;2110.937;309.797;496.01;65.585;2009.6;277.35;144.734;22.532;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
7;12;20;23;58;18414.76;2680.301;6029.752;858.071;2114.139;310.364;496.951;65.702;2010.424;277.427;144.744;22.533;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
8;12;20;23;58;18438.969;2683.863;6041.512;859.716;2115.918;310.686;497.784;65.807;2012.19;277.644;144.754;22.535;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
9;12;20;23;58;18465.801;2687.758;6056.798;861.811;2118.81;311.147;498.578;65.906;2013.054;277.728;144.764;22.536;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
10;12;20;23;58;18496.035;2692.17;6075.335;864.382;2120.29;311.448;499.397;66.01;2014.809;277.949;144.774;22.538;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
11;12;20;23;58;18525.865;2696.532;6092.583;866.819;2122.023;311.78;500.548;66.154;2016.808;278.198;144.785;22.539;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
12;12;20;23;58;18549.891;2700.003;6099.693;867.837;2124.034;312.33;501.578;66.284;2018.548;278.394;144.795;22.541;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
13;12;20;23;58;18574.742;2703.576;6107.584;868.925;2124.938;312.645;502.484;66.398;2023.904;279.089;144.806;22.542;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
14;12;20;23;58;18602.568;2707.629;6121.771;870.938;2126.024;312.98;503.499;66.527;2025.231;279.226;144.817;22.544;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
15;12;20;23;58;18624.582;2710.872;6129.391;871.999;2128.703;313.413;504.679;66.68;2028.385;279.619;144.827;22.546;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
16;12;20;23;58;18643.484;2713.614;6136.453;873.031;2129.636;313.887;505.549;66.789;2029.31;279.716;144.838;22.547;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
17;12;20;23;58;18668.18;2717.207;6147.674;874.626;2129.778;314.506;506.818;66.948;2030.815;279.906;144.848;22.549;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
18;12;20;23;58;18691.881;2720.651;6155.743;875.719;2130.037;314.766;508.145;67.116;2034.221;280.327;144.859;22.55;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
19;12;20;23;58;18725.148;2725.446;6166.668;877.257;2136.229;315.877;509.868;67.334;2036.391;280.586;144.869;22.552;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
20;12;20;23;58;18746.305;2728.506;6174.326;878.435;2136.302;316.336;510.794;67.45;2038.043;280.786;144.88;22.553;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
21;12;20;23;58;18770.066;2731.943;6183.158;879.677;2136.841;316.7;512.291;67.637;2042.082;281.3;144.892;22.555;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
22;12;20;23;58;18795.584;2735.588;6186.467;880.328;2137.046;316.961;513.742;67.818;2047.507;282.025;144.904;22.557;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
23;12;20;23;58;18813.68;2738.221;6190.577;881.115;2138.124;317.258;514.61;67.928;2048.601;282.145;144.916;22.559;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
24;12;20;23;58;18834.512;2741.252;6199.326;882.411;2139.312;317.62;515.141;67.999;2049.771;282.27;144.927;22.56;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
25;12;20;23;58;18856.469;2744.454;6213.015;884.243;2140.166;317.727;515.155;68;2050.003;282.271;144.938;22.562;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
26;12;20;23;58;18882.965;2748.335;6231.136;886.869;2141.083;317.842;515.169;68.002;2050.266;282.272;144.95;22.564;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
27;12;20;23;58;18907.709;2751.957;6245.432;888.882;2141.977;317.953;516.115;68.12;2051.019;282.335;144.961;22.565;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
28;12;20;23;58;18937.426;2756.243;6257.082;890.383;2143.802;318.379;517.488;68.292;2053.231;282.623;144.971;22.567;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
29;12;20;23;58;18962.162;2759.843;6268.282;891.815;2146.304;318.857;518.3;68.394;2054.597;282.779;144.982;22.569;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
30;12;20;23;58;18992.68;2764.287;6280.66;893.54;2150.058;319.527;519.496;68.545;2058.158;283.244;144.992;22.57;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
31;12;20;23;58;19024.359;2768.895;6295.134;895.597;2150.966;319.85;520.787;68.709;2063.682;283.978;145.002;22.572;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
1;1;21;23;58;19057.775;2773.719;6308.945;897.453;2156.848;320.709;522.386;68.915;2066.51;284.337;145.012;22.573;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2;1;21;23;58;19093.719;2778.907;6324.726;899.646;2163.933;321.66;523.284;69.031;2067.848;284.48;145.021;22.574;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
3;1;21;23;58;19124.793;2783.426;6342.172;902.154;2163.957;321.878;524.469;69.18;2070.239;284.78;145.032;22.576;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
4;1;21;23;58;19154.371;2787.726;6359.147;904.544;2164.943;322.202;525.611;69.324;2071.717;284.946;145.043;22.578;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
5;1;21;23;58;19186.305;2792.373;6376.013;906.901;2166.801;322.83;526.614;69.45;2073.486;285.154;145.061;22.58;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
6;1;21;23;58;19218.09;2796.982;6393.248;909.342;2168.181;323.455;527.879;69.609;2076.835;285.574;145.065;22.581;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
7;1;21;23;58;19255.867;2802.454;6408.536;911.463;2172.142;324.157;529.084;69.762;2079.832;285.967;151.34;23.454;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
8;1;21;23;58;19289.859;2807.394;6429.571;914.422;2172.487;324.605;530.044;69.882;2081.617;286.166;153.361;23.745;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
9;1;21;23;58;19329.797;2813.236;6450.02;917.328;2176.815;325.534;531.35;70.046;2085.838;286.723;153.365;23.746;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

My current flow :

An example, replace the template node with a http request node.

You could also add colum names if you want with a comma seperated list. I added two ways to use csv. click inject and check outputs.

[{"id":"647c6871.acea98","type":"inject","z":"8d22ae29.7df6d","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":3280,"wires":[["50af8295.d4ea3c"]]},{"id":"50af8295.d4ea3c","type":"template","z":"8d22ae29.7df6d","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"plain","template":"1;12;20;23;58;18262.445;2658.207;5954.879;848.062;2100.714;307.927;492.416;65.134;2000.809;276.293;144.684;22.524;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n2;12;20;23;58;18287.658;2661.88;5968.3;849.842;2103.158;308.33;493.306;65.246;2002.172;276.457;144.694;22.526;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n3;12;20;23;58;18316.199;2666.01;5980.35;851.464;2106.168;308.94;494.387;65.382;2005.311;276.852;144.704;22.527;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n4;12;20;23;58;18342.113;2669.744;5990.712;852.828;2108.199;309.36;495.607;65.534;2007.743;277.163;144.714;22.529;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n5;12;20;23;58;18363.975;2672.943;6003.19;854.491;2110.021;309.683;495.724;65.549;2008.958;277.292;144.724;22.53;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n6;12;20;23;58;18385.09;2676.027;6015.726;856.194;2110.937;309.797;496.01;65.585;2009.6;277.35;144.734;22.532;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n7;12;20;23;58;18414.76;2680.301;6029.752;858.071;2114.139;310.364;496.951;65.702;2010.424;277.427;144.744;22.533;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n8;12;20;23;58;18438.969;2683.863;6041.512;859.716;2115.918;310.686;497.784;65.807;2012.19;277.644;144.754;22.535;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n9;12;20;23;58;18465.801;2687.758;6056.798;861.811;2118.81;311.147;498.578;65.906;2013.054;277.728;144.764;22.536;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n10;12;20;23;58;18496.035;2692.17;6075.335;864.382;2120.29;311.448;499.397;66.01;2014.809;277.949;144.774;22.538;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n11;12;20;23;58;18525.865;2696.532;6092.583;866.819;2122.023;311.78;500.548;66.154;2016.808;278.198;144.785;22.539;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n12;12;20;23;58;18549.891;2700.003;6099.693;867.837;2124.034;312.33;501.578;66.284;2018.548;278.394;144.795;22.541;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n13;12;20;23;58;18574.742;2703.576;6107.584;868.925;2124.938;312.645;502.484;66.398;2023.904;279.089;144.806;22.542;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n14;12;20;23;58;18602.568;2707.629;6121.771;870.938;2126.024;312.98;503.499;66.527;2025.231;279.226;144.817;22.544;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n15;12;20;23;58;18624.582;2710.872;6129.391;871.999;2128.703;313.413;504.679;66.68;2028.385;279.619;144.827;22.546;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n16;12;20;23;58;18643.484;2713.614;6136.453;873.031;2129.636;313.887;505.549;66.789;2029.31;279.716;144.838;22.547;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n17;12;20;23;58;18668.18;2717.207;6147.674;874.626;2129.778;314.506;506.818;66.948;2030.815;279.906;144.848;22.549;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n18;12;20;23;58;18691.881;2720.651;6155.743;875.719;2130.037;314.766;508.145;67.116;2034.221;280.327;144.859;22.55;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n19;12;20;23;58;18725.148;2725.446;6166.668;877.257;2136.229;315.877;509.868;67.334;2036.391;280.586;144.869;22.552;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n20;12;20;23;58;18746.305;2728.506;6174.326;878.435;2136.302;316.336;510.794;67.45;2038.043;280.786;144.88;22.553;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n21;12;20;23;58;18770.066;2731.943;6183.158;879.677;2136.841;316.7;512.291;67.637;2042.082;281.3;144.892;22.555;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n22;12;20;23;58;18795.584;2735.588;6186.467;880.328;2137.046;316.961;513.742;67.818;2047.507;282.025;144.904;22.557;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n23;12;20;23;58;18813.68;2738.221;6190.577;881.115;2138.124;317.258;514.61;67.928;2048.601;282.145;144.916;22.559;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n24;12;20;23;58;18834.512;2741.252;6199.326;882.411;2139.312;317.62;515.141;67.999;2049.771;282.27;144.927;22.56;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n25;12;20;23;58;18856.469;2744.454;6213.015;884.243;2140.166;317.727;515.155;68;2050.003;282.271;144.938;22.562;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n26;12;20;23;58;18882.965;2748.335;6231.136;886.869;2141.083;317.842;515.169;68.002;2050.266;282.272;144.95;22.564;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n27;12;20;23;58;18907.709;2751.957;6245.432;888.882;2141.977;317.953;516.115;68.12;2051.019;282.335;144.961;22.565;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n28;12;20;23;58;18937.426;2756.243;6257.082;890.383;2143.802;318.379;517.488;68.292;2053.231;282.623;144.971;22.567;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n29;12;20;23;58;18962.162;2759.843;6268.282;891.815;2146.304;318.857;518.3;68.394;2054.597;282.779;144.982;22.569;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n30;12;20;23;58;18992.68;2764.287;6280.66;893.54;2150.058;319.527;519.496;68.545;2058.158;283.244;144.992;22.57;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n31;12;20;23;58;19024.359;2768.895;6295.134;895.597;2150.966;319.85;520.787;68.709;2063.682;283.978;145.002;22.572;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n1;1;21;23;58;19057.775;2773.719;6308.945;897.453;2156.848;320.709;522.386;68.915;2066.51;284.337;145.012;22.573;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n2;1;21;23;58;19093.719;2778.907;6324.726;899.646;2163.933;321.66;523.284;69.031;2067.848;284.48;145.021;22.574;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n3;1;21;23;58;19124.793;2783.426;6342.172;902.154;2163.957;321.878;524.469;69.18;2070.239;284.78;145.032;22.576;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n4;1;21;23;58;19154.371;2787.726;6359.147;904.544;2164.943;322.202;525.611;69.324;2071.717;284.946;145.043;22.578;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n5;1;21;23;58;19186.305;2792.373;6376.013;906.901;2166.801;322.83;526.614;69.45;2073.486;285.154;145.061;22.58;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n6;1;21;23;58;19218.09;2796.982;6393.248;909.342;2168.181;323.455;527.879;69.609;2076.835;285.574;145.065;22.581;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n7;1;21;23;58;19255.867;2802.454;6408.536;911.463;2172.142;324.157;529.084;69.762;2079.832;285.967;151.34;23.454;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n8;1;21;23;58;19289.859;2807.394;6429.571;914.422;2172.487;324.605;530.044;69.882;2081.617;286.166;153.361;23.745;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n9;1;21;23;58;19329.797;2813.236;6450.02;917.328;2176.815;325.534;531.35;70.046;2085.838;286.723;153.365;23.746;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0\n","output":"str","x":270,"y":3280,"wires":[["61c504eb.eb0894","fcd9f692.f20a98"]]},{"id":"61c504eb.eb0894","type":"csv","z":"8d22ae29.7df6d","name":"","sep":";","hdrin":"","hdrout":"none","multi":"mult","ret":"\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":430,"y":3320,"wires":[["96e1c60f.1d7888"]]},{"id":"fcd9f692.f20a98","type":"csv","z":"8d22ae29.7df6d","name":"","sep":";","hdrin":"","hdrout":"none","multi":"mult","ret":"\\n","temp":"TEST1,,TEST2","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":430,"y":3280,"wires":[["727c2cac.18ba44"]]},{"id":"96e1c60f.1d7888","type":"function","z":"8d22ae29.7df6d","name":"","func":"msg.payload = msg.payload.slice(-2);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":590,"y":3320,"wires":[["887440f2.2e7f48"]]},{"id":"727c2cac.18ba44","type":"change","z":"8d22ae29.7df6d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[[-2,-1]]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":3280,"wires":[["887440f2.2e7f48"]]},{"id":"887440f2.2e7f48","type":"debug","z":"8d22ae29.7df6d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":630,"y":3400,"wires":[]}]

[edit]
Using extra commas in column input field will skip columns. e.g test1,,test2 will skip the second column .

Added a function node, it does the same as the change node.