04-19-2020 07:39 PM
初心者です。
以前投稿させていただいた者ですが、別の問題でつまずいたので新しく質問させていただきます。
CSVデータのある列を指定範囲で抽出したいという事でなんとかVIを組めました。
ただし、データ量が少ないCSVだと機能するのですが、データ量が多いCSVだと機能しません。
この解決策を教えていただきたいです。
解決済! 解決策の投稿を見る。
04-22-2020 03:30 AM - 編集済み 04-22-2020 03:32 AM
はじめまして。
viを拝見させていただきました。
問題の原因は、
ブロックダイアグラムの下の方で
削除すべき個数分を、初めと終わりから削除することで指定範囲を抽出しようとしている点であると考えられます。
対象の列の数値が昇順に並んでいればこれで問題はないのですが、(整数例.csvは昇順)
数値がばらばらに並んでいる状況ですと、
初めと終わりから切り取っているだけで、削除すべきデータを削除出来ておりません。
解決策としては、ikunoriさんも用いていらっしゃる、
Forループでのデータを判別している条件付きのループ出力トンネルを用います。
ある列の値が範囲内か否かを判定し、trueの場合、その行のデータ全体を出力することで、
データ全体を一つのForループを用いて抽出することができます。
VIを作成いたしましたのでz、上記の内容をご確認いただければと思います。
また質問とは関係ない内容かもしれませんが、
読み取るファイルのパスを指定することで、毎回ファイルを選択する手間を省くことができます。
(添付させていただいたviでの書き方では、Excelファイルとviは同じフォルダ内にある必要があります。)
この点もご確認いただければと思います。
よろしくお願いします。