2017-06-03 53 views
1

我有一個Excel文件,它看起來像這樣的輸入:帶「。」的值不從Excel文件

excel file in png

每次我的文件包括這樣一行:2 1.258 4.587 6.325,我的代碼不.,和閱讀數字對於給定的行,只導入2

這是我的代碼(當我的文件包括十進制值,其效果很好,但不):

Xtrain1 = xlsread('mma_kag\train1.xlsx','B:F'); 

錯誤是:數據點的

尺寸必須大於0

這意味着它不會讀取文件並且已經檢查過它。這是[]。 如何解決這個問題?

這裏是excel文件的link

+0

您可以上傳或提供excel文檔嗎?這個問題也與svm無關。 – Mikhail

+0

@Mikhail我添加了excel文件(截圖),因爲我不知道如何在這裏加載文件 – magda

+0

只是上傳文件 – Mikhail

回答

0

您的單元格中的數字被視爲文本,因此是錯誤。它與數字不是整數無關。有兩種方法可以解決這個錯誤。

Excel的方法

  • 選擇所有單元(通過按下Ctrl鍵+)。
  • 然後點擊this。這將打開一個下拉菜單。
  • 現在選擇轉換爲數字
  • 保存excel文件(Ctrl + S)。 (保持前一個副本,如果你需要的)

excel approach

有關此信息,請閱讀本主題:
Fix text-formatted numbers by applying a number format


MATLAB方法:
使用the third output of xlsread和文本轉換爲雙這樣的:

[~, ~, Xtrain1] = xlsread('mma_kag\train1.xlsx','B:F'); 
Xtrain1 = str2double(Xtrain1); %Converting the strings in the cell to double 

編輯: 如果您的檔案編號爲任意分散(如您上傳新文件)的文本,你需要先和第三產出xlsread。類似以下內容:

[tmp,~, Xtrain1] = xlsread('train1.xlsx'); %Select the range as per your need if necessary 
Xtrain1 = str2double(Xtrain1);  
%Above line will convert the text into numbers and the numbers will be converted to NaNs 
Xtrain1(isnan(Xtrain1))=tmp(~isnan(tmp)); 
%Above line retrieves the numbers from `tmp` & stores them in `Xtrain1`