필터 지우기
필터 지우기

Read and manipulate multiple .csv files

조회 수: 125 (최근 30일)
Jake
Jake 2020년 3월 9일
댓글: Ameer Hamza 2020년 3월 13일
Hi,
I have multiple *.csv files which contains almost similar data. All the csv files have random and dissimilar file-names. Is there a way to load them, read them one by one and work with the data?
To elaborate, my end goal is to read one csv file, change certain data in that file and save it as a .txt file and continue this for all the files. And I have 1000+ csv files with almost nothing in common. I'm okay with the manipulation part but I need some help with loading and reading all csv files from a certain directory, one by one.
Thanks in advance!

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 3월 9일
You can use dir to read the name of all files with csv extensions.
files = dir('*.csv');
Then iterate over the files struct to read each file.
for i=1:length(files)
data = readmatrix(files(i).name); % or csvread(files(i).name)
% process data
writematrix(processed_data,txt_filename); % save to txt file
end
  댓글 수: 3
metumetu
metumetu 2020년 3월 12일
편집: metumetu 2020년 3월 12일
@Ameer Hamza Do we need convert txt files to csv? and writematrix doesnt work on 2018a. what can we do alternatively?
Ameer Hamza
Ameer Hamza 2020년 3월 13일
metumetu, you do not need to conver txt to csv. You can directly read data from txt file.
writematrix will is not available in R2018a. You can use readtable, textscan, dlmread or fscanf to read data from txt file. The exact solution will depend on the formatting of your txt file.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by