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 Comments

How do you expect to get "...2 columns from this data..." from a "...CSV file that contains one column with data..." ?
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

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

1 Comment

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)

Tags

Asked:

on 6 May 2021

Commented:

on 6 May 2021

Community Treasure Hunt

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

Start Hunting!