• ベストアンサー

csvファイルのデータの間引きをしたい

はじめまして。 csvファイルをもとにMSChartでグラフ表示するのですが、データ量が大きすぎ、描画に時間がかかってしまいます。 そこで、csvファイルの間引きを考えたのですが、うまい方法が見当たりません。 何かよい方法はございませんでしょうか? よろしくお願いいたします。 P.S. 何行かおきに変数に読み込むことを考えたのですが、Line Inputでは解決出来ませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7995/21381)
回答No.1

Excelなり何なりのアプリで読み込んで加工し、 別のファイルとして吐き出すのが、結果的に一番簡単だと思います。

kouritaiki
質問者

お礼

間引き機能を持ったソフトを作りたいので、VBの上で処理したいと思いまして。

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> csvファイルをもとにMSChartでグラフ表示するのですが、データ量が大きすぎ、描画に時間がかかってしまいます。 今は、どうやってグラフ表示しているんでしょう? その方法のまま、単純に「間引き」をすればよいだけの様な気がしますが・・・ #例えば、ループ処理をやっているなら、 #「ループカウンタの数値を3で割ったあまりを求めて #余りが0の時だけグラフの表示対象にする」 #とかすれば1/3に間引けますよね・・・ > 何行かおきに変数に読み込むことを考えたのですが、Line Inputでは解決出来ませんでした。 これでも解決できそうな気がしますけど・・・ どう、やったんでしょう??

kouritaiki
質問者

お礼

何とかできました。 ありがとうございました。 Open "Sample.csv" For Input As #1 Do Until EOF(1) intRow = intRow + 1 For n = 0 To 4 Input #1, CsvR(n) Next n If intRow = 0 Then For c = 1 To 4 Line(c) = CsvR(c) Next c ElseIf intRow Mod 3 = 0 Then LineB(intRow) = CsvR(0) For c = 1 To 128 intDat(intRow, c) = CLng(CsvR(c)) Next c End If Loop Close #1

関連するQ&A