Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV Datei "schneiden"

CSV Datei "schneiden"
18.10.2018 12:31:57
Julius
Hallo liebe Freunde,
ich habe leider keine Lösung im Netz gefunden, deshalb richte ich mich jetzt direkt an euch.
Ich habe eine sehr große CSV Datei (über 10 Mio Zeilen), welche mir Excel natürlich nicht öffnet...
In der 2. Spalte steht das Datum mit Uhrzeit. (z.B. 15.01.2016 12:30)
Ich würde gerne versuchen, die Datei so zu schneiden, dass ich die Zeilen bedingt nach der Uhrzeit (also eine Arbeitsmappe pro Stunde vom Tag) in die Arbeitsmappen verteile. Hat hier jemand vielleicht schon mal eine ähnliche Lösung geschrieben, welche nur abgewandelt werden müsste?
Schon mal besten Dank an alle!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV Datei "schneiden"
18.10.2018 13:17:53
ChrisL
Hi Julius
Bei 10 Mio. Datensätze würde ich eine Art von Abfrage wählen. Hierzu kannst verschiedene Mittel verwenden PowerQuery, Datenverbindung, ADODB usw.
Im Beispiel Mappe1.csv, Spalte A DatumZeit, Spalte B Wert, Filter: 12:30
SQL-String z.B.:
SELECT Mappe1.DatumZeit, Mappe1.Wert
FROM Mappe1
WHERE (((Hour([DatumZeit]) & Minute([DatumZeit]))="1230"));
Power-Query:
let
Quelle = Csv.Document(File.Contents("C:\Pfad\Mappe1.csv"),[Delimiter=";", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Höher gestufte Header" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true]),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Höher gestufte Header",{{"DatumZeit", type datetime}, {"Wert", Int64.Type}}),
#"Uhrzeit eingefügt" = Table.AddColumn(#"Geänderter Typ", "Zeit", each DateTime.Time([DatumZeit]), type time),
#"Gefilterte Zeilen" = Table.SelectRows(#"Uhrzeit eingefügt", each ([Zeit] = #time(12, 30, 0)))
in
#"Gefilterte Zeilen"

cu
Chris
Anzeige
AW: CSV Datei "schneiden"
18.10.2018 13:28:11
Rudi
Hallo,
erzeugt lauter kleine .csv:
Sub SplitCSV()
Dim strFile As String, strTmp, strTime, vntTmp
Open "c:\test\test.csv" For Input As #1
Do While Not EOF(1)
Line Input #1, strTmp
vntTmp = Split(strTmp, ";")
strTime = Format(CDate(vntTmp(1)), "YYYYMMDD_hh")
If strFile  strTime Then
Close #2
strFile = strTime
Open "c:\test\" & strFile & ".csv" For Output As #2
End If
Print #2, strTmp
Loop
Close #1
Close #2
End Sub

Gruß
Rudi
AW: CSV Datei "schneiden"
18.10.2018 13:48:09
Julius
Hallo Rudi,
herzlichen Dank, das ist wirklich super :-)
Nur zur Verständnis: Ich habe die Datums und Zeitangabe in Spalte B, muss ich dementsprechend noch Anpassungen vornehmen?
Gruß
Julius
Anzeige
sollte so gehen. owT
18.10.2018 15:01:42
Rudi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige