一、導(dǎo)入csv文件
1、使用readtable函數(shù)進(jìn)行導(dǎo)入
data = readtable('filename.csv');
2、使用csvread函數(shù)進(jìn)行導(dǎo)入,但只能導(dǎo)入純數(shù)值類型的數(shù)據(jù)
data = csvread('filename.csv');
3、使用xlsread函數(shù)進(jìn)行導(dǎo)入,可以導(dǎo)入csv和xls格式的文件,但不支持xlsx格式的文件
[ndata, text, alldata] = xlsread('filename.csv');
data = cell2table(alldata);
二、指定導(dǎo)入數(shù)據(jù)的范圍
1、使用readtable函數(shù)進(jìn)行導(dǎo)入時(shí),可以使用選項(xiàng)參數(shù)
data = readtable('filename.csv','Range','A2:D100');
2、使用csvread函數(shù)進(jìn)行導(dǎo)入時(shí),可以使用選項(xiàng)參數(shù)
data = csvread('filename.csv',1,0,[1,0,99,3]);
3、使用xlsread函數(shù)進(jìn)行導(dǎo)入時(shí),可以使用選項(xiàng)參數(shù)
[ndata, text, alldata] = xlsread('filename.csv','Sheet1','A2:D100');
data = cell2table(alldata);
三、處理導(dǎo)入后的數(shù)據(jù)
1、使用table2array函數(shù)將table類型的數(shù)據(jù)轉(zhuǎn)換成array類型的數(shù)據(jù)
data_array = table2array(data);
2、使用size函數(shù)獲取數(shù)據(jù)的大小
size_data = size(data);
3、使用unique函數(shù)獲取唯一值
unique_data = unique(data);
四、將處理后的數(shù)據(jù)寫入csv文件
1、使用writetable函數(shù)將table類型的數(shù)據(jù)寫入csv文件
writetable(data,'new_filename.csv');
2、使用csvwrite函數(shù)將array類型的數(shù)據(jù)寫入csv文件,但只能寫入純數(shù)值類型的數(shù)據(jù)
csvwrite('new_filename.csv',data_array);
3、使用xlswrite函數(shù)將數(shù)據(jù)寫入xls或xlsx文件
xlswrite('new_filename.xlsx',data);
五、其他注意事項(xiàng)
1、csv文件是一種以逗號(hào)作為分隔符的文本文件,但實(shí)際使用中可能會(huì)使用其他分隔符,如空格、制表符等,此時(shí)需要使用readtable函數(shù)的選項(xiàng)參數(shù)進(jìn)行指定
data = readtable('filename.csv','Delimiter','\t');
2、在導(dǎo)入包含中文字符的csv文件時(shí),需要使用選項(xiàng)參數(shù)'Encoding'指定文件編碼方式,如'UTF-8'、'GBK'等
data = readtable('filename.csv','Encoding','UTF-8');
3、在讀取csv文件時(shí),如果文件路徑包含中文字符,可能會(huì)出現(xiàn)亂碼問題,此時(shí)需要使用MATLAB的Unicode編碼方式,如'\\?\C:\path\to\file.csv'
data = readtable('\\?\C:\path\to\file.csv','Encoding','UTF-8');