Importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneJ'essaie d'importer un fichier de données ExceI dont le nom figure dans la ligne 1, mais les en-têtes de colonne de données commencent à la ligne 7 et les données à la ligne 8 (voir le fichier joint). J'aimerais que les données importées ressemblent à ceci:
Nom Date Concentration en µg / L (25) Charge en tonnes métriques (25)
S382_P 18/06/2015 90.890579 93 0.010426405
Quelqu'un a-t-il des suggestions sur la façon dont je peux lire ce type de données pour que le nom de la station soit associé aux données? S'il vous plaît, faites-moi savoir. Je vous remercie!
Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneSi vous utilisez l'Assistant Excel, cette opération est simple. Dans JMP, accédez à
Fichier ==> Ouvrir
Ensuite, accédez à l'emplacement de la feuille de calcul Excel.
Cliquez une fois sur le fichier que vous souhaitez lire pour le surligner.
Ensuite, allez dans la partie inférieure gauche de la fenêtre de navigation et cliquez sur la flèche déroulante située en regard de Ouvrir.
Sélectionnez "Utiliser l'assistant Excel"
Dans l'assistant, vous pourrez sélectionner la ligne contenant les en-têtes de colonne (6).
et la ligne où les données commencent (7)Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneJim, les instructions fournies sont correctes si toutes les données sont contenues dans des colonnes séparées, mais ma structure de fichier est différente. Dans le fichier joint, vous verrez que le nom de la station n’apparaît qu’une seule fois en Rangée 1 , tandis que les en-têtes commencent par Rangée 7 et les données dans Rangée 8. Les noms de station sont "empilés" sur les en-têtes et les colonnes de données. Faites-moi savoir comment je peux lire le nom de la station, puis associez ce nom à l'en-tête / aux données appropriés.
Dans l'exemple de fichier joint, les données sont répertoriées pour 4 stations et les noms de ces stations figurent dans les adresses de fichier Excel: A1, I1, Q1, Y1 (surlignées en jaune). Pour la première station du fichier, le nom de la station est S382_P (trouvé dans A1) et les données de cette station se trouvent dans les colonnes A à H (l’en-tête commence à la ligne 7 et les données à la ligne 8); la deuxième station est S382_C (trouvée dans I1) et les données pour cette station se trouvent dans les colonnes I - P, etc. J'aimerais que les données importées ressemblent à ceci lorsque j'en fais un fichier de données JMP:
Nom Date Concentration en ucd / ug / l (25) Tonnes métriques (25) plus de colums. . .
S382_P 18/06/2015 90.890579 93 0.010426405
Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneDésolé .... j'ai mal interprété votre question initiale. Vous trouverez ci-dessous un script qui fonctionne avec l'exemple de table de données que vous avez fourni. Remplacez simplement le chemin dans la fonction Open () par le chemin de votre table de données, puis exécutez le script.
Names default to here(1);
dtOrig = Open(
"<PATH to="" excel="" file="">\Excel_import_example_file.xlsx",
Worksheets( "example" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 0 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 1 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Create a new table with the Column names on row 7 from the original
dtResult = New Table("Final");
dtResult << New Column("Name",Character);
col=1;
While(col>0,
dtResult << New Column(dtOrig[7,col]);
If(left(dtOrig[1,col+1],5)=="Name:",col=-1);
col=col+1;
);
// Now Populate the Table
For( col = 1, col <= N Cols( dtOrig ), col++,
If( Left( dtOrig[1, col ], 5 ) == "Name:",
dtResult << Add Rows( 1 );
resultCol = 1;
Column( dtResult, resultCol)[ N Rows( dtResult ) ] = Trim( Substr( Column( dtOrig, col )[1], 6 ) );
);
resultCol = resultCol + 1;
Column( dtResult, resultCol)[ N Rows( dtResult ) ] = Num( Column( dtOrig, col )[8] );
);
close( dtOrig, nosave );</PATH>

Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneMerci . . . mais le script fonctionne si je n'ai qu'une ligne de données. Mais cela ne semble pas fonctionner avec plusieurs lignes de données. Désolé, j'ai envoyé un fichier court à titre d'exemple, mais les fichiers de données avec lesquels je travaille ont plusieurs lignes de données. J'ai joint la version la plus longue du fichier à cet email (voir feuille de calcul "exemple"). Ce serait formidable si vous pouviez m'aider à lire plusieurs lignes de données.
[cid: image001.png@01D51188.A1E017A0]
Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneIl semble que vous ayez attaché une image, mais pour une raison quelconque, cela n'a pas fonctionné. Pouvez-vous revenir en arrière et modifier votre message pour essayer de joindre l'image à nouveau?Re: importer des données Excel où toutes les informations ne se trouvent pas dans une seule ligne ou une seule colonneSi les lignes multiples auxquelles vous faites référence sont des lignes supplémentaires après la ligne 8, qui ont la même structure que la ligne 8, le script suivant fonctionnera
Names Default To Here( 1 );
dtOrig = Open(
"<PATH to="" file="">\Excel_import_example_file.xlsx",
Worksheets( "example" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 0 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 1 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Create a new table with the Column names on row 7 from the original
dtResult = New Table( "Final" );
dtResult << New Column( "Name", Character );
col = 1;
While( col > 0,
dtResult << New Column( dtOrig[7, col] );
If( Left( dtOrig[1, col + 1], 5 ) == "Name:",
col = -1
);
col = col + 1;
);
For( theRow = 8, theRow <= N Rows( dtOrig ), theRow++,
// Now Populate the Table
For( col = 1, col <= N Cols( dtOrig ), col++,
If( Left( dtOrig[1, col], 5 ) == "Name:",
dtResult << Add Rows( 1 );
resultCol = 1;
Column( dtResult, resultCol )[N Rows( dtResult )] = Trim( Substr( Column( dtOrig, col )[1], 6 ) );
);
resultCol = resultCol + 1;
Column( dtResult, resultCol )[N Rows( dtResult )] = Num( Column( dtOrig, col )[theRow] );
)
);
Close( dtOrig, nosave );</PATH>