edit large CSV file before reading it to a table

hi,
I have a very large (16Gb) CSV file that contains one column with data separated by semicolumn.
I only need 2 columns from this data, but I cannot read it first since the memory is running out (I have 16Gb ram).
Is it possible to somehow separate the semicolumn to a column and read only the data I need (which is 2/6 columns)?

2 commentaires

Stephen23
Stephen23 le 6 Mai 2021
Modifié(e) : Stephen23 le 6 Mai 2021
How do you expect to get "...2 columns from this data..." from a "...CSV file that contains one column with data..." ?
sani
sani le 6 Mai 2021
It contain one column but the data is saperated in ';'.
basicly I needed to saperate it first and than to read only whats relevant for me.
see wallter solution, it was actually really halpful.

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 6 Mai 2021

2 votes

Use 'delimiter', ';', and 'SelectedVariableNames' with a vector that is the two column numbers.

1 commentaire

sani
sani le 6 Mai 2021
thank you very much walter!
for some reason not only that it maneged to read the data, it also write it really fast in readtable() function. much faster than other smaller files I'm reading.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by