csvファイルデータ​の続きにデータを書き​込む方法について

8 ビュー (過去 30 日間)
Koki Hashiguchi
Koki Hashiguchi 2019 年 9 月 10 日
コメント済み: Koki Hashiguchi 2019 年 9 月 24 日
下記左側のcsvファイルの続きに、右側のcsvファイルの赤□囲み部を書き込む方法についてご教授ください。
スクリプトでSample2.csvを読み取り、rawの中身をSample1.csvの続きに書き込みたいと考えています、
[num,txt,raw] = xlsread('Sample2.csv');
[row1,col1] = size(raw);
for txt_num = 1 : col1
s1 = 'A_tool';
s2 = txt{1,txt_num};
tf = strcmp(s1,s2);
if tf == 1
tf_num = txt_num;
end
end
num(isnan(num)) = 0;
txt(:,1:tf_num - 1) = [];
txt(2:row1,:) = [];
raw(1:1,:) = [];
Answers0910.png

回答 (1 件)

michio
michio 2019 年 9 月 20 日
data1 = readtable('Sample1.csv');
data2 = readtable('Sample2.csv');
data12 = [data1;data2];
writetable(data12,'Sample12.csv');
ではいかがでしょう。
Sample1.csv の続きに書き込むのも writetable 関数で可能ですが、書き込む範囲を確認するために Sample1.csv の情報(データ行数)は確認する必要があります。それなら両方読み込んで1つの変数に纏めて、書き出した方が楽かなと思いまして。
日付のフォーマットも、Sample1.csv と Sample2.csv で違うのが気になりましたが、readtable 関数だとどちらも datetime 型で読み込むので楽です。
  1 件のコメント
Koki Hashiguchi
Koki Hashiguchi 2019 年 9 月 24 日
michio様
お世話になっております。
ご解答いただきありがとうございます。
読み込むcsvファイルの列数や行数が異なる場合は、if文を用いて列数や行数判定を行って
書き込む処理を行えばよろしいでしょうか。

サインインしてコメントする。

製品


リリース

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!