02-16-2017 02:23 AM
LabVIEW初心者のmanakaと申します。
現在、表題の件で悩んでおります。
やりたいことは、csvデータを読み込み、LabVIEW上でグラフ化することです。
元々グラフ化していたcsvのフォーマットは、
1行目に項目名
A列に2行目から「2017/2/16 17:00」という形式で日付と時間
B列2行目から数値データが入っているものでした。
これに合わせて、項目部はリストに、時間は時間軸に、データは2行目B列以降を読み込むようにしていました。
ところが、この製作したviを他のフォーマットにも対応させなければならなくなり困っています。
新たなフォーマットは、
1行目に項目名
2行目にグラフ化とは関係のない情報
A列に3行目から「2017/2/16」という形式で日付
B列に3行目から「0:00:00」という形式で時間
C列もグラフ化とは関係のない情報
D列3行目から数値データが入っています。
データが入っているセルが変わり、日付と時間の入力されるセルが分かれている。
このような状況で、新たなフォーマットと元々のフォーマットを見分けて対応することは可能でしょうか。
どなたかお分かりになる方いらっしゃいましたら、教えて頂けたら幸いです。
よろしくお願い致します。
解決済! 解決策の投稿を見る。
02-16-2017 07:40 AM
csvが必ず旧フォーマットか新フォーマットに従っている、とすれば、
「A列の3行目」は、明確に
旧フォーマットなら、「2017/2/16 17:00」の日時の形式
新フォーマットなら、「2017/2/16」の年月日のみの形式
と思われますので、csv(読む限り内部では一度文字列2D配列で受けていると思われます)のA列の3行目(指標だと2,0)が、「数字/数字/数字」だけで出来ていれば新フォーマット、と解釈するのは如何でしょうか。
新か旧か、が分かれば、あとはどの列を何行目から読めば良いかは分かっているので。日付と時刻が分かれている新フォーマットでも、2つの列からくっつけるなり、別々に数値を抜き出すなりして、統合した日時データにはできるので。
02-17-2017 01:35 AM
M.Shiraishi様
情報足らずのところまでくみ取っていただき、的確なアドバイスありがとうございます。
まさにこの方法で、希望の動作ができそうです。
分かれたセルの日時データを統合して、該当するデータと組み合わせるあたり、勉強不足の為苦戦しそうですが、なんとか頑張ってみます。
また、1つ質問をさせてください。
Read CSV to 2D stringのシーケンスストラクチャ内の白いオブジェクトは、なんという名前でしょうか。
宜しくお願い致します。
02-17-2017 08:25 AM
>>Read CSV to 2D stringのシーケンスストラクチャ内の白いオブジェクトは、なんという名前でしょうか。
「白いオブジェクト」というのは、
のほうでしょうか?当方のversionが古い関係で今は違うアイコンかも知れませんが、「ファイルから文字を読み取り」とかいう感じの関数です。ファイルの中身をすべて読み取って、1つの長い文字列として返します。ファイルの関数群の中にあると思います。
こちらの
の中身のことであれば、「2次元配列の要素が、空の文字列」になっているものです。これがつながっている「スプレッドシートを2D配列に変換」する関数の左下の端子を右クリックして「作成→定数」とすると、通常は、DBL(0)の2D配列になりますが、それの要素のDBLを右クリックして「入れ換え→文字列→文字列定数」を選ぶと、空の文字列の2D配列になります。
いずれでもなかったらすみません・・絵的にどれか示して頂ければ。
02-19-2017 06:21 PM
M.Shiraishi様
質問をしておきながら、返信遅くなりました。
「ファイルから文字を読み取り」の方のことでした。
説明不足な質問にもかかわらず、ありがとうございました。
今回のアドバイス含め、改めて感謝致します。
02-20-2017 03:04 AM
M.Shiraishi様
何度も申し訳ありません。
日付と時刻が分かれてい
数個の統合は、「指標配列」や「文字列連結」で実現できたのですが、
膨大な数に対応する方法が分かりません。
どのような機能を使うのでしょうか・・・
お返事いただけたら助かります。