2013-12-16 20 views
1

我有具有3列的CSV文件: 字符串類型(這可以是一個詞或句子),整數型,整型[這些是列類型]
現在我想將這些數據存儲到一個矩陣中,其中字符串(整個句子存儲在一個單元格中)以及每個單元格中的整數。我嘗試這樣做:存儲串和整數類型CSV文件轉換成一個矩陣的matlab

fileID=fopen('training.csv'); 
C=textscan(fileID,'%s %d %d'); 

但它給出了一個不同的細胞句子的每個單詞的整個sentecne應存放在一個cell.How做呢?

謝謝。

編輯:它似乎現在讀什麼,這就是我得到

celldisp(C) 

C{1}{1} = 

    jdl 

C{2} = 

    [] 

C{3} = 

    [] 

編輯

jdl h-yf u ghjktnfhcrjuj hjcljd-yf-ljye     129771 196 
EAS CJDTNCRBH YFIRJHNJCNFY UJH HTDL HTCG    819100 458 
rcfcyjzcrjuj rfycrf u rhfz edl       547653 677 
trfcthbyyehuf h-yt jnltkjv eavc xrfkjdcrjv u hjccbb d 970121 884 
H-YF TRFNTHBYYEHUF U EDL XRFKJDCRJUJ     938870 630 
jdl yfhyfek h-yf rtktpyjljhjryjuj      525855 598 
rhfcyjzhcrf eghfdktybtv dyenhtyybq hfqjyf u ktybycrjuj 709215 403 

差不多的樣子this.It有3500行數據

回答

1

你可以把字符串轉換爲引號,然後在textscan使用%Q:

%q String, where double quotation marks indicate text to keep together 

編輯:如果你只需要(通過腳本,並不會自動在另一個進程中),這樣做一次,怎麼樣從CSV,文件中的數據手動導入到MATLAB(通過利用MATLAB提供的導入工具:

enter image description here

然後可能保存導入的變量只需要一個MAT文件,以便將來可以更輕鬆地訪問它!?

+0

coukd你細說了,我不undertsand你是什麼saying.Should我修改我的文件?該文件有1000行。 – LoveMeow

+0

是的,我的意思是將數據導出到一個csv文件,其中的字符串位於引號之間,例如,看起來像這樣:「bla bla bla」; 1; 2然後你可以在textscan中使用參數%q來匹配兩個引號之間的字符串。但是,如果您可以輕鬆修改csv文件(例如,通過更改輸出csv文件的程序的輸出例程),那將只是一個選項。 csv文件來自哪裏(從什麼生成)? – tim

+0

由我的大學給出。我需要導入到matlab中的訓練數據進行工作(機器學習)。它有3個柱和許多行。第一列有一個句子。並且我堅持知道如何導入第一個列作爲matlab矩陣中的第一列。 – LoveMeow