Wie generiere ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Ich habe mehrere CSV-Dateien im angehängten Format in einem bestimmten Ordner. Wie erstelle ich eine neue Datei, die die Zusammenfassung des Durchschnitts aller Spalten A, B, C, D jeder CSV-Datei im folgenden Format enthält:
| Dateiname | EIN | B. | C. | D. |
| | avg_colA_file1 | avg_colB_file1 | avg_colC_file1 | avg_colC_file1 |
| | avg_colA_file2 | avg_colB_file2 | avg_colC_file2 | avg_colC_file2 |
| | | | | |
Ich weiß, wie man den Durchschnitt jeder CSV-Datei mithilfe einer Tabellenzusammenfassung generiert, aber wie können wir dasselbe für mehrere CSV-Dateien mit einem einzigen Skript tun?
AnalytikDatentabelleDAMHIRSCHKUHSkriptingBetreff: Wie erstelle ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Verwenden Sie "Import mehrerer Dateien ()".
Die Dokumentation finden Sie im Scripting-Handbuch, das in der JMP-Dokumentationsbibliothek im Pulldown-Menü Hilfe verfügbar ist.
Betreff: Wie generiere ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Vielen Dank, aber dies importiert nur mehrere Dateien in eine einzige Datentabelle. Ich wollte wissen, wie ich den Durchschnitt aller Spalten in jeder Datei mit einem einzigen Skript berechnen kannBetreff: Wie erstelle ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Beim Import mehrerer Dateien kann eine neue Spalte hinzugefügt werden, die den Dateinamen der Datei enthält, aus der die Daten stammen (Spalte Dateiname hinzufügen). Dies bedeutet, dass Sie Ihrer Zusammenfassung problemlos eine By () - Klausel hinzufügen können, die für jede importierte Datei separate Durchschnittswerte bereitstellt.
Betreff: Wie generiere ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Haben Sie versucht, ob die Funktion Tabellen -> Zusammenfassung den gewünschten Job macht?


Betreff: Wie generiere ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?Ich versuche das folgende Skript, aber es läuft nicht. Könnten Sie bitte mitteilen, wo das Problem liegt?
dt = Import mehrerer Dateien (
<< Ordner festlegen (
"C: \ Benutzer \ meine_Dateien \"
),
<< Set Name Filter ("*. *;"),
<< Set Name Enable (0),
<< Größenfilter einstellen ({37111019, 38896395}),
<< Set Size Enable (0),
<< Datumsfilter festlegen ({3689368844.046, 3689369157.819}),
<< Set Date Enable (0),
<< Set Add File Name Column (1),
<< Set Add File Size Column (0),
<< Set Dateidatenspalte hinzufügen (0),
<< Importmodus einstellen ("CSVData"),
<< Zeichensatz einstellen ("Best Guess"),
<< Stack-Modus einstellen ("Stack Similar"),
<< Set CSV Has Header (1),
<< CSV Allow Numeric (1) einstellen,
<< Setze CSV First Header Line (1),
<< CSV-Anzahl der Kopfzeilen einstellen (1),
<< CSV First Data Line (2) einstellen,
<< CSV EOF Comma (1) setzen,
<< CSV EOF Tab (0) setzen,
<< CSV EOF Space (0) einstellen,
<< CSV EOF Spaces (0) einstellen,
<< CSV EOF Other einstellen (""),
<< CSV EOL CRLF (1) einstellen,
<< CSV EOL CR (1) einstellen,
<< CSV EOL LF (1) einstellen,
<< CSV EOL Semikolon setzen (0),
<< CSV EOL Other einstellen (""),
<< CSV-Angebot festlegen ("\!" "),
<< CSV Escape einstellen ("")
) << Daten importieren;
dt << Zeilen abrufen, wo (: A <= 20);
dt << Zeilen löschen (sel);
dt <<
Zusammenfassung(
Gruppe (: Dateiname),
Mittelwert (: A),
Frequenz ("Keine"),
Gewicht ("Keine")
)
Betreff: Wie erstelle ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?MFI immer Gibt eine Liste von Datentabellen zurück (nicht eine Tabelle, sondern eine {Liste} mit einer oder mehreren Tabellen). Wir müssten einige Nachrichten aus dem Protokoll sehen, um eine bessere Antwort zu erhalten - nicht sicher über die Syntax zum Löschen von Zeilen -, aber eine der folgenden:
for(i=1,i<=nitems(dt),i+=1,
dtx = dt[i];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
)
oder wenn Sie wissen, dass es nur einen gibt
dtx = dt[1];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
Verwenden von dtx als aktuelle Tabelle aus der Liste in dt.
Betreff: Wie erstelle ich einen zusammenfassenden Durchschnitt mehrerer CSV-Dateien?@Craige_Hales hat die richtige Antwort, mit einem Fehler aus dem ursprünglichen Code.Die Variable "sel" in:
dtx << delete rows(sel);
ist nicht definiert.Der Code muss geändert werden, damit die folgenden zwei korrekt funktionieren
dtx = dt[1];
sel = dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);