csvインポート時に、日付をシリアル値でインポートしたい
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
csvをインポートする際に、日付の列のみをシリアル値で読み込みたいのですが、方法が分かりませんでした。
行列、テーブル双方の場合でも可能な場合、それぞれの方法をご教示頂けますと嬉しいです。
現状思いつくのですと、以下のような手順になり、もっと簡単な方法がないかと思っています。
①csvをtableでインポート(日付はdatetime指定)
②日付をdatenumでシリアル値に変換
③日付以外のデータと再度合体
0 commentaires
Réponse acceptée
Hernia Baby
le 24 Août 2021
楽したいのでアプリを活用します
以下のコードはインポート機能を使ってそれをライブスクリプト化したものです
MATLABのフォルダーからBook4.csvをダブルクリックしてインポートアプリを立ち上げてください
ライブスクリプトの生成で以下のコードが生成されます
opts = delimitedTextImportOptions("NumVariables", 6, "Encoding", "UTF-8");
% 範囲と区切り記号の指定
opts.DataLines = [2, Inf];
opts.Delimiter = ",";
% 列名と型の指定
opts.VariableNames = ["Ping_index", "Distance_gps", "Distance_vl", "Ping_date", "Ping_time", "Ping_milliseconds"];
opts.VariableTypes = ["double", "double", "double", "datetime", "datetime", "double"];
% ファイル レベルのプロパティを指定
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
% 変数プロパティを指定
opts = setvaropts(opts, "Ping_date", "InputFormat", "yyyy/MM/dd");
opts = setvaropts(opts, "Ping_time", "InputFormat", "HH:mm:ss");
% データのインポート
Book4 = readtable("Book4.csv", opts);
% 一時変数のクリア
clear opts
ここでシリアル値を付け加えます(コードを書いたのはここだけ)
Book4.Ping_date_S = datenum(Book4.Ping_date);
Book4
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur スプレッドシート dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!