나는 커다란 csv 파일 (6.5millions x 25)을 가지고 있으며 그것을 Matlab에로드하려고 시도하고있다. 이미 xlsread
, csvread
을 시도했지만 만족스러운 결과를 얻을 수 없습니다. 나는 textscan
을 사용하여 그것을 달성 할 수 있다고 읽었습니다.커다란 .csv 파일 읽기 쉼표를 사용하는 MATLAB
내 데이터는이 방법을 찾습니다
date_time;writetime;F1;F2;F3;R1;h12;b12;h_main;
01.01.2016 0:00:01;504910801075;1;1;1;3,94;799;1515;3,877;
01.01.2016 0:00:02;504910802314;1;1;1;3,96;795;1516;3,857;
첫 번째 행은 헤더입니다. 기타 행은 데이터입니다. 다른 모든 행은 동일한 형식입니다.
내 코드 : 괜찮아요
fileID = fopen('value1.csv','r');
formatSpec = '%s; \n';
formatSpec1 = '%s%f %f %f %f %f %f %f %f %f %f\n';
A1 = fscanf(fileID, formatSpec);
A2 = textscan(fileID, formatSpec1,'Delimiter',{';', ','});
내가 헤더를 읽을 수 A1
에 :
A1 =
date_time;writetime;F1;F2;F3;R1;h12;b12;h_main;
그리고 너무 A2
로 데이터를 읽습니다.
A2 =
{1x1 cell} [5.0491e+11] [1] [1] [1] [3] [94] [799] [1515] [3] [877]
그러나
방법3,94
값을 읽어?이 열에는
4
또는
0,064
값만있을 수 있기 때문에.
귀하의 도움을 바랍니다.
숫자에는 항상 소수 구분 기호가 사용됩니까? like 4,00 – Finn
필드는';'로 구분되므로 쉼표','를 필드 구분 기호로 사용하지 마십시오. –
@Finn 아니오, 그냥 '4'일 수 있습니다. –