WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

extrem große csv spaltenweise einlesen

 

Franz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2010, 16:00     Titel: extrem große csv spaltenweise einlesen
  Antworten mit Zitat      
Hallo goMatlab Community,

ich bin ein Matlab-Neuling und habe ein Problem ganz am Anfang meiner Analysen, welche ich mit Matlab realisieren möchte.
Meine Daten welche ich analysieren möchte sind in einer csv Datei gespeichert. Diese kann durchaus die Gigabyte Grenze überschreiten.
Meine Frage ist nun wie ich am besten die Daten in Matlab importieren kann. Dabei bin ich auf mehrere Probleme gestoßen:
* die erste Zeile besteht aus den Namen der Spalten die restlichen Zeilen aus Integer werten. Anzahl der Zeilen ist nicht bekannt
* beim Versuch alle Daten auf einmal zu Laden gab es einen out of Memory Fehler
* der grafische Import scheint mit der großen Datenmenge auch nicht klarzukommen

Leider konnte ich bisher nicht mit den gefundenen Ansätzen die Daten einlesen. Daher meine Frage ob jemand einen Tipp hat. Große Datenmengen mittels csv Dateien sollte ja eigentlich recht häufig vorkommen.

Die CSV Datei ist wie folgt aufgebaut:
Zeit; ValueName1, ValueName2, … ValueNameN
0,1,2,...,n
5,4,2,...,n
…...........
m,3,7,.. n

Besten Dank
Franz


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.05.2010, 19:39     Titel:
  Antworten mit Zitat      
Hallo,

ich würde TEXTSCAN verwenden.
Bei dieser Datengröße darauf achten, Integer auch als Integer (z.B. %d8 oder %u8; auf Wertebereich achten) einzulesen. Wenn nicht alle Spalten (gleichzeitig) benötigt werden, kann man damit evtl. auch noch arbeiten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Franz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.05.2010, 13:29     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für den Tipp. Mit Textscan hatte ich es noch nicht getestet. Habe dazu aber auch noch eine Frage. Ich habe es mal mit einer Test-Csv Datei versucht, welche nicht die größe der Orginal Dateien hat. Dabei habe ich es leider nicht geschafft die CSV Datei richtig einzulesen. Ich habe immer einen <300x1, uint8> Vektor bekommen. Ist es möglich mittels einen weiteren delimiter(zusätzlich zu ',') den zeilenumbruch in der CSV datei dazu zu verwenden dass eine Matrix ensteht.
(Also so dass es so aussieht:
0,1,2,...,n
5,4,2,...,n
…...........
m,3,7,.. n
statt:
0,1,2,...n,5,4,2,...n,...........,m,3,7,...n)

Wie gesagt ich bin Neuling in Matlab und hab damit keinerlei Erfahrung.
Vielen Dank
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.05.2010, 21:59     Titel:
  Antworten mit Zitat      
Hallo,

ich würde es mit %*[^\n] probieren, siehe Example 4 in
Code:


Auch mal ruhig die anderen Beispiele anschauen, die mit csv-Dateien arbeiten. Ansonsten bitte:

- bisherigen Code posten
- Beispiel-CSV - Datei anhängen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.