De esta forma transforme el archivo .csv
ya depurado. Lo pongo acá, pero en realidad este proceso lo realicé en la terminal del jupyterhub de la redclara; uno, porqué tuve problemas al usar la máquina virtual, mi computador explotaba y segundo, porqué en la línea tree->ReadFile
me estaban mostrando muchas líneas de error/warning y jupyter no me las podía mostrar, la terminal si me las mostraba y pude arreglar los conflictos gracias a tener acceso a esos warnings.
%jsroot on
TString dir = gSystem->UnixPathName(__FILE__);
dir.ReplaceAll("meteorite.C","");
dir.ReplaceAll("/./","/");
TFile *f = new TFile("meteorite.root","RECREATE");
Los datos meteorite-landings_clean.csv
se obtuvieron mediante el notebook clean_data.ipynb
.
Acá es necesario decirle a root el tipo de variable que tiene cada columna dada en la documentación de los datos y adicional, específicar la columna de los índices, llamada acá como entry/I
.
TTree *tree = new TTree("data","data from csv file");
// The file inside has ----> index, name, id, nametype, recclass, mass, fall, year, reclat, reclong
tree->ReadFile("meteorite-landings_clean.csv","entry/I:name/C:id/I:nametype/I:recclass/C:mass/F:fall/I:year/F:reclat/F:reclong/F",',');
f->Write();
system("ls -lhrt meteorite*");
TFile *_file0 = TFile::Open("meteorite.root");