#内容
測定機器から吐き出されるCSVデータをグラフ化するアプリケーションを作ろうと思っています。
このようなアプリを作る際に、データを取り込む構想としては、
現状はCSVを配列に取り込む方法を使っているのですが、
データベースも使えるものでしょうか?
#やりたいこと
例えば下記のようなデータがあります。
(実際には実験水準によって、もっと列項目は増大しますが、イメージのために記載しています)
|サンプル|試験項目|試験時間|測定値|
|:--:|:--
|1|TS|0|5|
|1|TS|100|5.25|
|1|TS|200|5.1|
|2|TS|0|5|
|2|TS|100|5.2|
#現状
現状は配列を作る際に、IF条件式などを使って分岐して、
表示させたいデータを抽出して、配列に落とし込んでいます
これはSQLを使えば、容易に抽出できると思うのですが、
何分、まだデータベースをまともに使ったことがなくて、
そもそも、このような用途で使えるのかを疑問視しています。
生産機器の測定系のデータなので、データ数は膨大になってきますが、
実用的なのでしょうか?
PYTHONなどでは、配列が使えるモジュール(たとえばpandas)に取り込んで、
可視化するようなことが多いと思います。
ネイティブがC言語なので、速いと思いますが、
それに比べてデータベースのアクセス速度は、どんなものなのでしょうか?
たとえばですが、下記のような測定結果がサンプル毎に生成されます。
これに試験条件3、放置時間水準5、サンプル数45のマトリクスとなりますので、
csvファイルが675個になります。
ほしいデータは、各抵抗(R1-R11)のACTUALデータ値となりますので
データとしては、7425行ぐらいになります。
(ただ、これはかなり少ない例でして、実際のRは2000個ぐらいあり
この場合は、742500行ぐらいにはなります)
IMG000001, R# , TP1 , TP2 , Min , Max , Result, Actual
IMG000001, R1 , 2 , 4 , 0.00m, 5.000, Pass, 0.0069610
IMG000001, R2 , 2 , 5 , 0.00m, 5.000, Pass, 0.017759
IMG000001, R3 , 20 , 19 , 0.00m, 5.000, Pass, 2.0708
IMG000001, R4 , 8 , 7 , 0.00m, 5.000, Pass, 2.0324
IMG000001, R5 , 14 , 13 , 0.00m, 5.000, Pass, 2.0273
IMG000001, R6 , 12 , 11 , 0.00m, 5.000, Pass, 2.0701
IMG000001, R9 , 22 , 21 , 0.00m, 5.000, Pass, 0.94770
IMG000001, R10 , 18 , 17 , 0.00m, 5.000, Pass, 1.1666
IMG000001, R11 , 6 , 5 , 0.00m, 5.000, Pass, 0.020258
IMG000001, R8 , 16 , 15 , 0.00m, 5.000, Pass, 0.99980
IMG000001, R7 , 10 , 9 , 0.00m, 5.000, Pass, 2.0525
Isolation Data [3]
IMG000001, Iso: Net1(C),Net2(D) (392) [999.00] >100.22 <<5,7>>
IMG000001, Iso: Net1(C),Net3(D) (400) [999.00] >100.22 <<5,9>>
IMG000001, Iso: Net1(C),Net4(D) (400) [999.00] >100.22 <<5,11>>
IMG000001, Iso: Net1(C),Net5(D) (400) [999.00] >100.22 <<5,13>>
IMG000001, Iso: Net1(C),Net9(D) (402) [999.00] >100.22 <<5,21>>
IMG000001, Iso: Net1(C),Net6(D) (400) [999.00] >100.22 <<5,15>>
IMG000001, Iso: Net1(C),Net7(D) (402) [999.00] >100.22 <<5,17>>
IMG000001, Iso: Net1(C),Net13(D) (401) [999.00] >100.22 <<5,26>>
IMG000001, Iso: Net1(C),Net12(D) (401) [999.00] >100.22 <<5,25>>
IMG000001, Iso: Net1(C),Net8(D) (401) [999.00] >100.22 <<5,19>>
IMG000001, Iso: Net1(C),Net16(D) (401) [999.00] >100.22 <<5,27>>
IMG000001, Iso: Net1(C),Net10(D) (401) [999.00] >100.22 <<5,23>>
IMG000001, Iso: Net1(C),Net11(D) (400) [999.00] >100.22 <<5,24>>
IMG000001, Iso: Net16(C),Net8(D) (394) [999.00] >100.22 <<27,19>>
IMG000001, Iso: Net10(C),Net11(D) (393) [999.00] >100.22 <<23,24>>
IMG000001, Iso: Net8(C),Net2(D) (393) [999.00] >100.22 <<19,7>>
IMG000001, Iso: Net8(C),Net3(D) (400) [999.00] >100.22 <<19,9>>
IMG000001, Iso: Net8(C),Net4(D) (400) [999.00] >100.22 <<19,11>>
IMG000001, Iso: Net8(C),Net5(D) (401) [999.00] >100.22 <<19,13>>
IMG000001, Iso: Net2(C),Net3(D) (394) [999.00] >100.22 <<7,9>>
IMG000001, Iso: Net3(C),Net4(D) (393) [999.00] >100.22 <<9,11>>
IMG000001, Iso: Net4(C),Net5(D) (393) [999.00] >100.22 <<11,13>>
IMG000001, Iso: Net12(C),Net13(D) (393) [999.00] >100.22 <<25,26>>
回答2件
あなたの回答
tips
プレビュー