Ich muss bestimmte Excel-Arbeitsblätter aus einer Reihe von Excel-Dateien (in JMP) importieren und die Daten in der JMP-Datei müssen mit einer ID-Spalte gestapelt werden, die den Dateiursprung angibt.
Mit dem Excel-Importassistenten ist es relativ einfach, zwei oder mehr ausgewählte Arbeitsblätter aus einer einzigen Datei zu importieren und zu stapeln (siehe Skript unten). Die Daten sind in den verschiedenen Arbeitsblättern ähnlich strukturiert.
Wenn möglich, muss ich alle relevanten Arbeitsblätter aus allen Excel-Dateien auf einmal importieren – ich kann mir vorstellen, dass das durch eine Art Schleife des Skripts unten gelöst werden kann, das die Excel-Dateinamen aus einer (erfassten?) Liste liest – aber ich kann keine verwendbare „For-Schleife“ erstellen.
Wenn jemand Vorschläge hat, würde ich mich sehr freuen, von Ihnen zu hören
Henrik
Open(
"/X:/Extracted data part 1/B6_1_PBS-0_combined.xlsx",
Worksheets( {"B6_1 Ratio", "B6_2 Ratio"} ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 1 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 2 ),
Headers Start on Row( 1 ),
Data Starts on Row( 3 ),
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( "-" )
)
);
// Concatenate tables
// → Data Table( "Ratio_00" )
Data Table( "Ratio_00" ) << Concatenate(
Data Table( "B6_1_PBS-0_combined" ),
Output Table( "Untitled 82.jmp" ),
Append to first table
);