だから私はこのCSVIMPORT 関数を使用しており、次のような CSV ファイルをインポートしようとしています。
2014-6-06 08:03:19, 439105, 1053224, Front Entrance
2014-6-06 09:43:21, 439105, 1696241, Main Exit
2014-6-06 10:01:54, 1836139, 1593258, Back Archway
2014-6-06 11:34:26, 845646, external, Exit
2014-6-06 04:45:13, 1464748, 439105, Side Exit
948739 行についても同様です。基本的に、列 2 と列 3 は人々の ID 番号を表し、イベントである人から別の人にかけられた電話を表します (例: 439105 は 1053224 に電話します)。誰かがイベント外で誰かに電話をかけると、その ID は「外部」として表示されます。
列 2 と 3 のみをインポートする必要があります (例: 439105 & 1053224)。問題は、コードを大きなサイズではなく小さなcsvファイルサイズでしか動作させられないことです...そしてこの質問によると、100万行を超えるcsvファイルが動作しました。
ドキュメントによると:
[C1 C2 C3] = CSVIMPORT( fileName, 'columns', {'C1', 'C2', C3'}, ... ) この形式は、それぞれ出力変数 C1、C2、および C3 の列からデータを返します。名前は大文字と小文字が区別され、ファイル内の列名と正確に一致する必要があります。列モードでデータをフェッチする場合、出力列の数は読み取る列の数と一致するか、1 列である必要があります。後者の場合、列のデータは単一のセル マトリックスとして返されます。
[C1 C2 C3] = CSVIMPORT( fileName, 'columns', [1, 3, 4], ,'noHeader', true, ... ) この形式は、出力変数 C1、C2、および C3 の列からそれぞれデータを返します。 'noHeader' オプションが true に設定されている場合、columns パラメータには列インデックスが含まれている必要があります。
だから私はこれを使用しました:
[C2 C3] = csvimport('hugeCSV.csv','columns',2:3,'noHeader',true)
小さいテスト csv ファイルを使用すると、次のように出力されます。
C2 =
439105
439105
439105
439105
1836139
1464748
1464748
C3 =
'1053224'
'1696241'
'580064'
'1464748'
'external'
'439105'
'1053224'
それが私が欲しいものです。ただし、948739行の実際のファイルでそれを行うと、次のような数字のリストが表示されます:
439105
439105
439105
439105
1836139
1464748
1464748
1464748
1464748
580064
580064
580064
580064
1053224
そして、かなり長く続きます...
CSVIMPORTを呼び出すときに何か間違ったことをしていますか? 私はそれを理解できません...どんな助けでも大歓迎です、ありがとう!!!