Comment créer un tableau à partir d'une chaîne comme celle-ci ?Merci!
data<=>39.85,-0.015,0.002,1.017,1.70,3.90,-1.80,-3.80,-0.28,-12257.23,15:00,218879.08|39.70,-0.000,-0.000,0.935,3.60,3.50,-2.20,-4.90,-0.65,-357.77,09:30,5039.02|39.89,-0.001,-0.000,0.907,2.80,6.60,-10.90,1.50,-0.18,-882.37,09:32,9386.96|39.85,-0.001,0.000,1.020,0.20,4.20,-7.90,3.50,-0.28,-505.97,09:33,11499.35|
à

ScriptRe : Comment créer un tableau à partir d'une chaîne comme celle-ci ?off1 = Contains( txt, "data<=>" );<BR />If( off1,<BR />txt = Substr( txt, off1 + 1, Length( txt ) )<BR />);<BR />off2 = Contains( txt, "|", -1 );<BR />If( off2,<BR />txt = Substr( txt, 1, off2 )<BR />);<BR />t1=Substitute(txt,":","",","," ","|",",");
Re : Comment créer un tableau à partir d'une chaîne comme celle-ci ?Utilisez Substitute Into pour supprimer data<=> puis utilisez Words deux fois. Créez d'abord la liste en divisant sur "|" (lignes ?) puis sur "," pour obtenir les valeurs des cellules. Modifiez ensuite les formats selon vos besoins et ajoutez des valeurs à la table de données, par exemple en utilisant l'indice de table de données avec Ajouter des lignes.
Names Default To Here(1);
txt = "data<=>39.85,-0.015,0.002,1.017,1.70,3.90,-1.80,-3.80,-0.28,-12257.23,15:00,218879.08|39.70,-0.000,-0.000,0.935,3.60,3.50,-2.20,-4.90,-0.65,-357.77,09:30,5039.02|39.89,-0.001,-0.000,0.907,2.80,6.60,-10.90,1.50,-0.18,-882.37,09:32,9386.96|39.85,-0.001,0.000,1.020,0.20,4.20,-7.90,3.50,-0.28,-505.97,09:33,11499.35|";
Substitute Into(str, "data<=>", ""); // Remove "data<=>""
rows = Words(str, "|");
// example line
first_line = Words(rows[1], ",");
Re : Comment créer un tableau à partir d'une chaîne comme celle-ci ?
Re : Comment créer un tableau à partir d'une chaîne comme celle-ci ?Une autre approche. Si vous ne connaissez pas les noms des colonnes, vous pouvez omettre la section columns(...) .
txt = "data<=>39.85,-0.015,0.002,1.017,1.70,3.90,-1.80,-3.80,-0.28,-12257.23,15:00,218879.08|39.70,-0.000,-0.000,0.935,3.60,3.50,-2.20,-4.90,-0.65,-357.77,09:30,5039.02|39.89,-0.001,-0.000,0.907,2.80,6.60,-10.90,1.50,-0.18,-882.37,09:32,9386.96|39.85,-0.001,0.000,1.020,0.20,4.20,-7.90,3.50,-0.28,-505.97,09:33,11499.35|";
Open(
Char To Blob( Munger( txt, 1, "data<=>", "" ) ),
columns(
New Column( "a" ),
New Column( "b" ),
New Column( "c" ),
New Column( "d" ),
New Column( "e" ),
New Column( "f" ),
New Column( "g" ),
New Column( "h" ),
New Column( "i" ),
New Column( "j" ),
New Column( "time", Informat( "h:m" ), Format( "h:m" ) ),
New Column( "z" )
),
Import Settings( End Of Line( Other( "|" ) ), Labels( 0 ), Data Starts( 1 ) )
);
C'est la première fois que j'utilise munger() et je me sens bien. Il semble que son comportement d'échec (si les données <=> le texte change) sera raisonnable... en laissant le texte tel quel et en l'ajoutant à la première valeur.
Opening a blob of CSV-like data using | for line end characters.Opening a blob of CSV-like data using | for line end characters.Ouverture d'un blob de données de type CSV à l'aide de | pour les caractères de fin de ligne.
La fonction open() accepte un blob au lieu d'un nom de fichier ; les paramètres d'importation() lui indiquent d'attendre quelque chose comme un fichier .txt ou .csv dans le blob.