
(* ::Package:: *)

lectureSpicePrint[fichier_]:=Module[{f,ligne,entete,champs,valeurs,complexes,i,j,data,x,y},
	f = OpenRead[fichier];
	ligne = Read[f,String];
	While[Not[StringMatchQ[ligne,RegularExpression["-+"]]],Print[ligne];ligne=Read[f,String]];
	entete=Read[f,String];
	champs = StringSplit[entete,Whitespace];
	ligne = Read[f,String];
	ligne = Read[f,String];
	valeurs = StringSplit[ligne,Whitespace];
	Print[champs];
	complexes={};
	j=1;
	For[i=1,i<=Length[champs],i=i+1,
		If[StringTake[valeurs[[j]],-1]==",",
			AppendTo[complexes,True];
			j+=2;
			data[champs[[i]]]={};,
			AppendTo[complexes,False];
			j+=1;
			data[champs[[i]]]={};
		];
	];
	Print["complexes = ",complexes];
	While[StringQ[ligne],
		valeurs = StringSplit[ligne,Whitespace];
		j=1;
		For[i=1,i<=Length[champs],i+=1,
			If[complexes[[i]],
				valeurs[[j]]=StringDrop[valeurs[[j]],-1];
				valeurs[[j]]=StringReplace[valeurs[[j]],{","->".";"e"->"*10^"}];
				valeurs[[j+1]]=StringReplace[valeurs[[j+1]],{","->".";"e"->"*10^"}];
				x = ToExpression[valeurs[[j]]];
				y = ToExpression[valeurs[[j+1]]];
				AppendTo[data[champs[[i]]],x+I*y];
				j+=2,
				valeurs[[j]]=StringReplace[valeurs[[j]],{","->".";"e"->"*10^"}];
				x = ToExpression[valeurs[[j]]];
				AppendTo[data[champs[[i]]],x];
				j+=1
			];
		];
		ligne = Read[f,String];
	];
	Return[data];
]   
             