Ik weet dat ik geen bericht achter mag laten zonder eerst wat uitgezocht te hebben, maar ik weet helaas al niet eens waar ik moet beginnen.
Ik ben zelf vrij handig met scripting op Unix, maar ik heb ertoe moeten besluiten om een deel van mijn programma's over te zetten naar het Windows platform.
Wie wil/kan mij helpen?
Het volgende is het geval.. Ik heb een programma dat een text-file genereerd in csv formaat. Echter deze file wordt dusdanig groot dat deze niet meer in is te lezen in Excel. Het wordt daarna dan ook in een database weggeschreven.
Het probleem is dat vaak een meting over 2 seconden is verdeelt, terwijl dit wel tot dezelfde meting moet behoren. Helaas ziet de database dit ook als 2 metingen en gaat er een deel van de gegevens verloren en/of kloppen de grafieken niet meer omdat ze niet dezelfde tijdstempel hebben.
In het anderstaande sample hoop ik het probleem duidelijk te maken.
Om 07:00:13 heb ik 5 metingen van verschillende opjecten. Deze gaat goed.
4 seconden later vraag ik de gegevens nogmaals op..
Nu heb ik 4 objecten met 07:00:17 en 1 object met 07:00:18.
Ik wil nu een progje hebben die deze file inleest en een nieuw bestand aanmaakt welke de 07:00:18 weer veranderd in 07:00:17.
Dus mocht een het verschil tussen het ene object en het andere object kleiner zijn dat 2 seconden, verander de tijdsaanduiding van de dit object naar die van de voorgaande.
Het liefste heb ik dat alles terug wordt gerekend naar seconden na 1 Jan 1970, er een vergelijk wordt gemaakt en daarna weer terug wordt geconverteerd naar de normale tijdsaanduiding!
In welke programmeertaal is dit het makkelijkste te bewerkstelligen? Is er iets dat een beetje op Unix C lijkt? Is Visual Basic een optie om te gaan leren voor Windows scripts?
SOURCE CSV FILE:
Time,Device,Path FieldA,Target FieldA,LUN,Product FieldA,Product,NODEA,MODE,REVISION,Name,Node
9/Mar/2006 07:00:04,\\.\Scsi2:,1,0,0,XYZ210,5000,Z017,P8398F2AARZ017,200,NAME,WWWW-XXXX-YYYY-ZZZZ
9/Mar/2006 07:00:04,\\.\Scsi2:,1,2,0,XYZ210,5000,X02E,P8398F2AARX02E,200,NAME,WWWW-XXXX-YYYY-ZZZZ
Time,TotalA,TotalB,Node
9/Mar/2006 07:00:07,4359,61.86,NAME
Time,CPU %,Data %,Mode,NODEA,Node
9/Mar/2006 07:00:09,0,0,Z017,P8398F2AARZ017,NAME
9/Mar/2006 07:00:09,2,2,X02E,P8398F2AARX02E,NAME
Time,FieldA,ReadA,ReadB,ReadC,ReadD,ReadE,ReadF,WriteA,WriteB,WriteC,Flush MB/s,REFA,REFB,Group FieldA,Open,Mist,Mode,Number,REFB,Node
9/Mar/2006 07:00:13,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0021-0000,NAME
9/Mar/2006 07:00:13,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0022-0000,NAME
9/Mar/2006 07:00:13,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0023-0000,NAME
9/Mar/2006 07:00:13,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0024-0000,NAME
9/Mar/2006 07:00:13,41,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0025-0000,NAME
9/Mar/2006 07:00:17,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0021-0000,NAME
9/Mar/2006 07:00:17,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0022-0000,NAME
9/Mar/2006 07:00:17,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0023-0000,NAME
9/Mar/2006 07:00:17,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0024-0000,NAME
9/Mar/2006 07:00:18,41,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0025-0000,NAME
Ik ben zelf vrij handig met scripting op Unix, maar ik heb ertoe moeten besluiten om een deel van mijn programma's over te zetten naar het Windows platform.
Wie wil/kan mij helpen?
Het volgende is het geval.. Ik heb een programma dat een text-file genereerd in csv formaat. Echter deze file wordt dusdanig groot dat deze niet meer in is te lezen in Excel. Het wordt daarna dan ook in een database weggeschreven.
Het probleem is dat vaak een meting over 2 seconden is verdeelt, terwijl dit wel tot dezelfde meting moet behoren. Helaas ziet de database dit ook als 2 metingen en gaat er een deel van de gegevens verloren en/of kloppen de grafieken niet meer omdat ze niet dezelfde tijdstempel hebben.
In het anderstaande sample hoop ik het probleem duidelijk te maken.
Om 07:00:13 heb ik 5 metingen van verschillende opjecten. Deze gaat goed.
4 seconden later vraag ik de gegevens nogmaals op..
Nu heb ik 4 objecten met 07:00:17 en 1 object met 07:00:18.
Ik wil nu een progje hebben die deze file inleest en een nieuw bestand aanmaakt welke de 07:00:18 weer veranderd in 07:00:17.
Dus mocht een het verschil tussen het ene object en het andere object kleiner zijn dat 2 seconden, verander de tijdsaanduiding van de dit object naar die van de voorgaande.
Het liefste heb ik dat alles terug wordt gerekend naar seconden na 1 Jan 1970, er een vergelijk wordt gemaakt en daarna weer terug wordt geconverteerd naar de normale tijdsaanduiding!
In welke programmeertaal is dit het makkelijkste te bewerkstelligen? Is er iets dat een beetje op Unix C lijkt? Is Visual Basic een optie om te gaan leren voor Windows scripts?
SOURCE CSV FILE:
Time,Device,Path FieldA,Target FieldA,LUN,Product FieldA,Product,NODEA,MODE,REVISION,Name,Node
9/Mar/2006 07:00:04,\\.\Scsi2:,1,0,0,XYZ210,5000,Z017,P8398F2AARZ017,200,NAME,WWWW-XXXX-YYYY-ZZZZ
9/Mar/2006 07:00:04,\\.\Scsi2:,1,2,0,XYZ210,5000,X02E,P8398F2AARX02E,200,NAME,WWWW-XXXX-YYYY-ZZZZ
Time,TotalA,TotalB,Node
9/Mar/2006 07:00:07,4359,61.86,NAME
Time,CPU %,Data %,Mode,NODEA,Node
9/Mar/2006 07:00:09,0,0,Z017,P8398F2AARZ017,NAME
9/Mar/2006 07:00:09,2,2,X02E,P8398F2AARX02E,NAME
Time,FieldA,ReadA,ReadB,ReadC,ReadD,ReadE,ReadF,WriteA,WriteB,WriteC,Flush MB/s,REFA,REFB,Group FieldA,Open,Mist,Mode,Number,REFB,Node
9/Mar/2006 07:00:13,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0021-0000,NAME
9/Mar/2006 07:00:13,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0022-0000,NAME
9/Mar/2006 07:00:13,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0023-0000,NAME
9/Mar/2006 07:00:13,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0024-0000,NAME
9/Mar/2006 07:00:13,41,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0025-0000,NAME
9/Mar/2006 07:00:17,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0021-0000,NAME
9/Mar/2006 07:00:17,39,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0022-0000,NAME
9/Mar/2006 07:00:17,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0023-0000,NAME
9/Mar/2006 07:00:17,40,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,B,Yes,Back,X02E,AAAA-BBBB-0010-0005-0000-9000-0024-0000,NAME
9/Mar/2006 07:00:18,41,0,0.00,0.0,0,0.00,0.0,0,0.00,0.0,0.00,0.00,0.00,Group,A,Yes,Back,Z017,AAAA-BBBB-0010-0005-0000-9000-0025-0000,NAME
[ Voor 3% gewijzigd door vanheemst op 02-04-2006 11:47 ]