2016-06-30 9 views
0

私は8列の.txtファイルを持っています。 \ tの列は分割されています。私は読み込み可能な命令で6列だけを読んでほしい。私を助けてください。ありがとうございました。読み取り可能な命令の8列から6列だけを読み取る

以下の手順では、すべての列の表を参照しています。私のためにこの命令を修正してください:

Table = readtable('D:\DataIntable.txt','Delimiter','\t','ReadVariableNames',true); 

データが5万行を持って、あなたの代わりに.xlsファイルとしてデータを保存することができた場合は、したがって、読み取り後に列をドロップすることは無意味な時間の消費

+0

はなぜ、テーブル全体を読んだ後、最後の2つの列をドロップしませんか?asdf.txtを使用して

Dan

+0

提案:すべてのデータを読み、2つの最後の列を削除してください。 –

+0

データ5百万行があり、これは非常に困難です。 – Eli

答えて

0

* .xlsに変換するオーバーヘッドは愚かです。 readtableのドキュメントを読むと、it supportstextscan-スタイルformat specifiersが表示されます。これにより、*を使用してフィールドを無視できます。

column1 column2 column3 
a b c 
d e f 

そして:

T = readtable('asdf.txt', 'ReadVariableNames', true, 'Delimiter', '\t', 'Format', '%s%s%*s'); 

を我々は入手:

T = 

    column1 column2 
    _______ _______ 

    'a'  'b'  
    'd'  'e'  
0

だろう。 txtファイルでは、xlsreadを使用すると、通話中のデータの範囲を指定できます。

[data,txt] = xlsread('filename',sheet,xlRange) 

あなたはスプレッドシートのデータのセルインデックスを知っている必要があります(すなわち、A1:C500は、インポートされたデータの500x3行列になります)が、それはあなたが唯一の希望の列をインポート指定することができるようになります。 txtの出力では、列タイトルを文字列としてインポートします。これは、データに関連付けられた名前も同様に表示されるように見えるためです。

+0

実行してください。私は理解しませんでした。あなたの目的は、テキストファイルからExcelとMATLABにデータを取り込むことです。この命令は何のためですか? – Eli

+0

私はテキストファイルからMATLABにデータを読み込む代わりにあなたに提供していました。 Excelファイルとして外部(MATLABの外部)にデータを保存する能力があれば、 'xlsread'はあなたが探している機能を持っています。 Excelには、テキストファイルテーブルをその形式に読み込む機能があります。データをExcelに読み込んだ後、Excelファイルを保存し、新しいExcelファイルのデータをMATLABに読み込むことができます。 _それは一番エレガントな解決策だとは言わなかった。_ –

+0

ありがとう。別の質問:何本ExcelとMatlabでインポートできる最大ファイルサイズですか? – Eli

関連する問題