CSV data manipulation: Difference between revisions
Content added Content deleted
Line 720: | Line 720: | ||
3,7,11,300,19 |
3,7,11,300,19 |
||
4,8,12,16,400 |
4,8,12,16,400 |
||
</pre> |
|||
==={{libheader|Gadget}}=== |
|||
<syntaxhighlight lang="c"> |
|||
#include <gadget/gadget.h> |
|||
LIB_GADGET_START |
|||
void Muestra_archivo_original(); |
|||
Main |
|||
if(Exist_file("save_matrix.txt")) |
|||
{ |
|||
/* recupero informacion del archivo para su apertura segura */ |
|||
F_STAT dataFile = Stat_file("load_matrix.txt"); |
|||
if(dataFile.is_matrix) // tiene forma de matriz??? |
|||
{ |
|||
New multitype test; |
|||
/* establezco los rangos a leer */ |
|||
Range for test [0:1:dataFile.total_lines-1, 0:1:dataFile.max_tokens_per_line-1]; |
|||
/* cargamos el array todo DOUBLE */ |
|||
test = Load_matrix_mt( pSDS(test), "load_matrix.txt", dataFile, DET_LONG); |
|||
/* modifica algunas cosas del archivo */ |
|||
sChg( test, 0,1, "Columna 1"); |
|||
$l-test[2,1] = 1000; |
|||
$l-test[2,2] = 2000; |
|||
/* inserto filas */ |
|||
/* preparo la fila a insertar */ |
|||
New multitype nueva_fila; |
|||
sAppend_mt(nueva_fila,"fila 3.1"); |
|||
Append_mt(nueva_fila,float,0.0); |
|||
Append_mt(nueva_fila,int,0); |
|||
Append_mt(nueva_fila,double,0.0); |
|||
Append_mt(nueva_fila,long, 0L); |
|||
/* insertamos la misma fila en el array, 3 veces */ |
|||
test = Insert_row_mt(pSDS(test),pSDS(nueva_fila), 4); |
|||
test = Insert_row_mt(pSDS(test),pSDS(nueva_fila), 4); |
|||
test = Insert_row_mt(pSDS(test),pSDS(nueva_fila), 4); |
|||
Free multitype nueva_fila; |
|||
Print "\nGuardando archivo en \"save_matrix.txt\"...\n"; |
|||
DEC_PREC = 20; /* establece precision decimal para despliegue */ |
|||
All range for test; |
|||
Save_matrix_mt(SDS(test), "save_matrix.txt" ); |
|||
Free multitype test; |
|||
Print "\nArchivo original:\n"; |
|||
Muestra_archivo_original(); |
|||
} |
|||
} |
|||
End |
|||
void Muestra_archivo_original(){ |
|||
String csys; |
|||
csys = `cat load_matrix.txt`; |
|||
Print "\n%s\n", csys; |
|||
Free secure csys; |
|||
} |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
$ ./tests/loadmt |
|||
Guardando archivo en "save_matrix.txt"... |
|||
Archivo original: |
|||
+,head 1,head 2,head 3,head 4 |
|||
fila 1,0.7226562500000,0.7198443412781,0.7170542478561,0.7142857313156 |
|||
fila 2,83,77,93,86 |
|||
fila 3,0.5000000000000,0.5150380749101,0.5299192642332,0.5446390350150 |
|||
fila 4,30886,36915,38335,60492 |
|||
fila 5,1.8213465987073e+2,1.8213465987073e+4,1.8213465987073e+6,1.8213465987073e+8 |
|||
fila 6,1.8213465987073e-2,1.8213465987073e-4,1.8213465987073e-6,1.8213465987073e-8 |
|||
$ cat save_matrix.txt |
|||
+,Columna 1,head 2,head 3,head 4 |
|||
fila 1,0.72265625000000000000,0.71984434127810004167,0.71705424785609994665,0.71428573131560002540 |
|||
fila 2,1000,2000,93,86 |
|||
fila 3,0.50000000000000000000,0.51503807491010000774,0.52991926423320001582,0.54463903501499999482 |
|||
fila 3.1,0.00000000000000000000,0,0.00000000000000000000,0 |
|||
fila 3.1,0.00000000000000000000,0,0.00000000000000000000,0 |
|||
fila 3.1,0.00000000000000000000,0,0.00000000000000000000,0 |
|||
fila 4,30886,36915,38335,60492 |
|||
fila 5,182.13465987073001883800,18213.46598707299926900305,1821346.59870730014517903328,182134659.87073001265525817871 |
|||
fila 6,0.01821346598707300132,0.00018213465987073003,0.00000182134659870730,0.00000001821346598707 |
|||
$ |
|||
</pre> |
</pre> |
||