0

だから私はこの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を呼び出すときに何か間違ったことをしていますか? 私はそれを理解できません...どんな助けでも大歓迎です、ありがとう!!!

4

0 に答える 0