Borrar filtros
Borrar filtros

Big CSV file read in matlab

54 visualizaciones (últimos 30 días)
Sudipta Das
Sudipta Das el 2 de Jul. de 2024 a las 4:08
Comentada: Rik el 3 de Jul. de 2024 a las 7:11
I have a CSV file of 5 columns and unknown rows (all of these are number data), Its size is 45 GB.
I want to read it in MATLAB and plot it against the time.
Is there any way to do it ?
  3 comentarios
Sudipta Das
Sudipta Das el 2 de Jul. de 2024 a las 4:53
How to do that ?
I am beginner with big data handling
Rik
Rik el 2 de Jul. de 2024 a las 7:10
I was putting it in a comment, then I realized it was actually an answer, so see below.

Iniciar sesión para comentar.

Respuestas (2)

Aditya
Aditya el 2 de Jul. de 2024 a las 4:27
Hi Sudipta,
Handling a 45 GB CSV file in MATLAB can be challenging due to memory constraints. You can use MATLAB's functions such as "datastore" function to handle large files efficiently by reading and processing the data in chunks.
For detailed guidance, please refer to this MATLAB Answer: Loading very large CSV files (~20GB) - MATLAB Answers - MATLAB Central (mathworks.com)
Additionally, you can read more about the `datastore` function here: Getting Started with Datastore - MATLAB & Simulink - MathWorks India
I hope this helps!

Rik
Rik el 2 de Jul. de 2024 a las 7:11
You can use fgetl to read a single line. Do that in a loop to retrieve 5000 lines (or something like that). Then you do whatever sumarization you need (histcounts, 2D heatmap, whatever). Then you can continue with the next 5000 lines.
Note that fgetl returns a char vector you will have to parse yourself (e.g. with sscanf (yes, double s)). You might also want to check what happens with the last chunk (which is unlikely to be exactly your chunk size).
The beauty of this system is that you store intermediate values, so you can pause and continue if you track the number of completed chunks.
  1 comentario
Rik
Rik el 3 de Jul. de 2024 a las 7:11
Did you try this solution already? I couldn't easily tell what exactly you edited in the question.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by