CSV Anzahl der Zeilen
- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
CSV Anzahl der Zeilen
Hallo zusammen,
bin auf der Suche die Anzahl der enthaltenen Zeilen in einer .csv Datei zu ermitteln.
Habe leider bei den Boardmitteln nichts gefunden.
für Eure Hilfe wäre ich Dankbar.
Grüße
Christian
bin auf der Suche die Anzahl der enthaltenen Zeilen in einer .csv Datei zu ermitteln.
Habe leider bei den Boardmitteln nichts gefunden.
für Eure Hilfe wäre ich Dankbar.
Grüße
Christian
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: CSV Anzahl der Zeilen
Zeilen einlesen und dabei Zählen!
oder was hast Du erwartet?
oder was hast Du erwartet?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
Re: CSV Anzahl der Zeilen
@ts-soft
ja das geht
aber ich möchte die letzte Zeilen (immer 14) nicht einlesen.
Grüße
Christian
ja das geht

aber ich möchte die letzte Zeilen (immer 14) nicht einlesen.
Grüße
Christian
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
Re: CSV Anzahl der Zeilen
also was ich meine ist, kann ich die Zeilen vorher counten ohne alles einzulesen ?
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: CSV Anzahl der Zeilen
Nein, wie sollte das gehen? Wenn, was unwahrscheinlich ist, jede Zeile dieselbe Anzahl an ZeichenPure_Beginner hat geschrieben:also was ich meine ist, kann ich die Zeilen vorher counten ohne alles einzulesen ?
hätte, könnte man es anhand der Dateigrösse ausmachen. Das ist aber bei CSV-Dateien eher nicht der Fall.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
Re: CSV Anzahl der Zeilen
@ts-soft,
danke für die rasche Antwort.
also erst durchzählen dann importieren.
Schönen Sonntag
Christian
danke für die rasche Antwort.
also erst durchzählen dann importieren.
Schönen Sonntag
Christian
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: CSV Anzahl der Zeilen
Ich würde die CSV-Datei (ist ja nur eine stinknormale Textdatei) als ganzes in den Speicher lesen und
dann anhand der definierten Trennzeichen, die Anzahl Zeilen und Spalten ermitteln.
Deine Aussage hört sich an, als wenn Du es 2x lesen möchtest?
Schönen Sonntag,
Thomas
dann anhand der definierten Trennzeichen, die Anzahl Zeilen und Spalten ermitteln.
Deine Aussage hört sich an, als wenn Du es 2x lesen möchtest?
Schönen Sonntag,
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
Re: CSV Anzahl der Zeilen
@ts-soft,
ja werd sie zweimal durchlaufen is kein großes Ding.
ja werd sie zweimal durchlaufen is kein großes Ding.
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col
Re: CSV Anzahl der Zeilen
Ist gar nicht notwendig, zweimal durchzurauschen.
Ich schätze, du möchtest deine Textzeilen in einem Array speichern und benötigst daher die Anzahl vor dem einlesen.
Geht auch ein wenig anders... mit Linklists
Beispiel:
Dabei muss man natürlich beachten, dass die Zeilennummerierung mit 0 beginnt und nicht mit 1
Ich schätze, du möchtest deine Textzeilen in einem Array speichern und benötigst daher die Anzahl vor dem einlesen.
Geht auch ein wenig anders... mit Linklists
Beispiel:
Code: Alles auswählen
EnableExplicit
Define NewList CSV.s()
Procedure ReadCSV(FileName.s, List Zeile.s())
Protected hFile
ClearList(Zeile())
hFile = ReadFile(#PB_Any, FileName)
If hFile
While Not Eof(hFile)
AddElement(Zeile())
Zeile() = ReadString(hFile)
Wend
CloseFile(hFile)
EndIf
ProcedureReturn ListSize(Zeile()) ; Wenn alles geklappt hat ist hier die Anzahl der Zeilen drin
EndProcedure
Procedure.s GetCSV_Zeile(ZeilenIndex, List Zeile.s())
Protected Ausgabe.s = ""
; Teste auf ZeilenAnzahl -1, weil ein ListenIndex mit 0 beginnt, ListSize() aber "richtig" zählt
If ZeilenIndex => 0 And ZeilenIndex <= (ListSize(Zeile()) - 1)
SelectElement(Zeile(), ZeilenIndex)
Ausgabe = Zeile()
EndIf
ProcedureReturn Ausgabe
EndProcedure
;:- Nun kann man auf die Linklist wie auf ein Array zugreifen ( Beinahe ;) )
If ReadCSV("meine.csv", CSV()) ; << Einlesen
Debug GetCSV_Zeile(10, CSV()) ; << Zeile 10 ausgeben
EndIf
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
- Pure_Beginner
- Beiträge: 247
- Registriert: 29.09.2011 21:49
- Computerausstattung: i7 9XX 4000 MHZ / 12 GB RAM / Win 8.1 64Bit / Win 7 64Bit
- Wohnort: Brühl
Re: CSV Anzahl der Zeilen
@Bisonte,
funktioniert, habs gleich ausprobiert.
Besten Bank für die Tipps.
Schönen Sonntag
Christian
funktioniert, habs gleich ausprobiert.
Besten Bank für die Tipps.
Schönen Sonntag
Christian
PureBasic 5.30 Beta 3 (X64/X86) | Win 8 (64) Pro / Win 7 (64) Pro | Es ist der Hobbyist[/col