Ouvrir une partie du CSV avec un filtreSalut,
Quelle est la manière d’ouvrir une partie filtrée du CSV ?
J'ai 300 Mo de CSV mais j'en ai besoin de seulement 10 Mo.
Veuillez fournir un exemple pour Big Class.csv où taille > 50 et Age = 15 ;
Merci.
Re : Ouvrir une partie du CSV avec un filtreMerci beaucoup!!!!Re : Ouvrir une partie du CSV avec un filtreVous pouvez le faire avec un pilote ODBC. C'est compliqué et je ne sais pas à quel genre de performance on peut s'attendre. Le JSL d'abord, puis les étapes de configuration compliquées. J'ai créé big class.csv dans le répertoire samples\import ; le bigclass.txt n'a pas fonctionné lors de mon premier essai, probablement à cause de l'extension ou de l'absence de virgules. Il pourrait y avoir un moyen de résoudre ce problème dans la chaîne de connexion.
New SQL Query(
Connection(
"ODBC:DSN=CSV;DBQ=C:\SPACE\SAS\JMP\15\SAMPLES\IMPORT DATA;DefaultDir=C:\SPACE\SAS\JMP\15\SAMPLES\IMPORT DATA;DriverId=27;FIL=text;MaxBufferSize=2048;PageTimeout=5;"
),
QueryName( "Big Class.csv" ),
Select(
Column( "name", "t1" ),
Column( "age", "t1" ),
Column( "sex", "t1" ),
Column( "height", "t1" ),
Column( "weight", "t1" )
),
From( Table( "Big Class.csv", Alias( "t1" ) ) ),
Where(
Custom( "t1.age=15 and t1.height>50", UI( Custom( Base( "Continuous" ) ) ) )
)
) << Run
Vous devrez configurer un DSN sur votre ordinateur. Vous n'avez probablement pas le chauffeur. Télécharger et installer.


Je les ai trouvés en recherchant le pilote Microsoft Access ODBC CSV
Installez l'exe 64 bits :
This took a minuteThis took a minuteCela a pris une minute
Mettre en place. Tapez ODBC dans le menu Démarrer de Windows pour trouver l'outil d'administration 64 bits.




Utilisez-le dans JMP. J'ai trébuché, certaines photos sont peut-être moins correctes ; les bonnes choses sont à la fin. Fichier-> Base de données est le point de départ.








Je pense que le fichier a besoin d'une extension CSV, mais je n'ai pas fait suffisamment d'expériences. Avec une extension CSV, et en utilisant des virgules, et NON en utilisant des guillemets autour des nombres, cela fonctionne. Il semble que les guillemets importeront des chaînes, mais il pourrait également exister un moyen de résoudre ce problème.
Re : Ouvrir une partie du CSV avec un filtreJe ne connais aucun moyen de transmettre aux options de saisie Excel une clause Where.Vous trouverez ci-dessous un script qui fait cela efficacement, mais il doit d'abord lire l'intégralité du tableau de données.
dt = Open(
<"Path to your.csv">,
columns(
New Column( "name", Character, "Nominal" ),
New Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "sex", Character, "Nominal" ),
New Column( "height", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )),
invisible
);
dt << select where(:height > 50 & :age == 15 );
dt2 = dt << subset( selected rows(1), selected columns(0) );
close(dt, nosave);