Ich habe CSV-Dateien, die mehrere Spalten haben, die sortiert sind. Zum Beispiel könnte ich Linien wie folgt haben:Split große CSV-Textdatei basierend auf Spalte Wert
19980102,,PLXS,10032,Q,A,,,15.12500,15.00000,15.12500,2
19980105,,PLXS,10032,Q,A,,,14.93750,14.75000,14.93750,2
19980106,,PLXS,10032,Q,A,,,14.56250,14.56250,14.87500,2
20111222,,PCP,63830,N,A,,,164.07001,164.09000,164.12000,1
20111223,,PCP,63830,N,A,,,164.53000,164.53000,164.55000,1
20111227,,PCP,63830,N,A,,,165.69000,165.61000,165.64000,1
Ich möchte die Datei basierend auf der dritten Spalte z. Setzen Sie PLXS- und PCP-Einträge in ihre eigenen Dateien namens PLXS.csv und PCP.csv. Da die Datei vorsortiert ist, befinden sich alle PLXS-Einträge vor den PCP-Einträgen und so weiter.
Normalerweise mache ich solche Dinge in C++, da das die Sprache ist, die ich am besten kenne, aber in diesem Fall ist meine Eingabe CSV-Datei mehrere Gigabyte und zu groß, um in C++ geladen zu werden.
Kann jemand zeigen, wie dies erreicht werden kann? Perl/Python/php/bash-Lösungen sind alle in Ordnung, sie müssen nur in der Lage sein, die große Datei ohne übermäßigen Speicherverbrauch zu handhaben.
haben Sie um überhaupt durchsucht? einige verwandte Fragen auf dieser Seite in allen oben genannten Sprachen und mehr. Sie können suchen: 'site: stackoverflow.com csv nach Wert geteilt 'oder eine solche Variante. viel Glück – bernie