edit large CSV file before reading it to a table

2 views (last 30 days)
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 Comments
Stephen23
Stephen23 on 6 May 2021
Edited: Stephen23 on 6 May 2021
How do you expect to get "...2 columns from this data..." from a "...CSV file that contains one column with data..." ?
sani
sani on 6 May 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.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 6 May 2021
Use 'delimiter', ';', and 'SelectedVariableNames' with a vector that is the two column numbers.
  1 Comment
sani
sani on 6 May 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.

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!