2016-12-14 10 views
0

Matlab의 csvread 구문 m =csvread('reserve2.csv',7,3,[7,3,9,4])을 사용하여 CSV 파일에서 쉼표로 구분 된 값을 읽습니다. 불행하게도 CSV 파일의 지정된 행과 열에있는 숫자가 주변 따옴표와 함께 나열 나는 다음과 같은 오류 얻을 수 있습니다 : 나는 그들이 그것도 값을 읽을 수 있도록 csvread를 호출 할 수있는 방법Matlab의 CSV 파일에서 큰 따옴표를 제거하는 방법

Error using dlmread (line 143) Mismatch between file and format string. Trouble reading 'Numeric' field from file (row number 1, field number 4) ==> "0","568"\n

Error in csvread (line 49) m=dlmread(filename, ',', r, c, rng);

을 큰 따옴표 안에 있습니까? 또는 CSV 파일에서 따옴표를 제거하는 코드를 작성하려면 어떻게해야합니까?

답변

0

이 파일을 읽는 방법에는 여러 가지가 있습니다.

  1. MATLAB의 TEXTSCAN 함수는 텍스트를 구문 분석하고 큰 따옴표 ("")로 묶인 구분 기호를 무시할 수 있습니다. '% q'형식 유형과 함께 TEXTSCAN 함수를 사용하여 큰 따옴표로 구분 된 문자열을 식별하십시오. 예 :

str = 'a, A, "a, apple"'; out = textscan (str, '% s % s % q', '구분 기호', ',') 이 명령은 'a', 'A'및 'a, apple' .

[num_data :

  • 당신은 Windows 플랫폼에있는 및 Microsoft Excel이 설치되어있는 경우, 두 개의 셀 어레이로 데이터를 읽을 XLSREAD 다음과 같은 구문을 사용할 수 있습니다

      text_data] = xlsread (파일 이름); ; 숫자 데이터만을 함유 -

      "num_data"

    이 명령을 실행 한 후에, 데이터는 다른 데이터 처리 두 가지 배열에 복사 될 문자열 및 빈 필드는 NaN으로 변환됩니다.

    "문자열 데이터"- 문자열로 읽은 모든 데이터가 들어 있습니다. 두 개의 큰 따옴표 사이의 텍스트는 단일 문자열로 구문 분석됩니다.

    1. 여러 FREAD 또는 FGETL 명령을 사용하여 파일을 구문 분석하는 사용자 정의 함수를 만듭니다.

      문서 textscan 문서 xlsread 문서의 FREAD 문서의 fgetl

      :이 기능에 대한 자세한 내용은

  • ,하여 MATLAB 명령 프롬프트에서 다음을 실행하여 문서를 참조하십시오