csvファイルに追加で書き込む
96 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
qrqr
el 14 de Feb. de 2020
Respondida: Kojiro Saito
el 14 de Feb. de 2020
既にあるcsvファイルに場所を指定して書き込む方法がわかりません。
csvファイルのA1:C5に文字、数字が記載してあり(excelで開いたとき)、
D1から新たに追加したいと考えています。
A=[1;2;3;4;5]
dlmwrite('test.csv',A,'-append');
この場合、列ではなく行の最終に追加されてしまいます。
writematrix(A,'test.csv','Sheet',1,'Range','D1:D5')
この場合は 無効なパラメーターsheet。 となります。
どのようにすればよいのでしょうか?
0 comentarios
Respuesta aceptada
Kojiro Saito
el 14 de Feb. de 2020
dlmwriteのappendやfopen('filename', 'a')だと、ファイルの最後の行に追加になってしまいます。また、writematrixでRangeを指定できるのは、.xls、.xlsm、.xlsxのスプレッドシートファイルのみです。
D1から追加する方法として、例えば以下の2通りがあります。
%% 方法1 Aを元のCSVのtableに結合してからファイルに書き込む
t = readtable('test.csv', 'ReadVariableNames', false);
A=[1;2;3;4;5];
t2 = addvars(t, A);
writetable(t2, 'test.csv', 'WriteVariableNames', false);
%% 方法2 writematrixでRangeを指定して書き込む
m = readtable('test2.csv');
writetable(m, 'test2.xlsx', 'WriteVariableNames', false)
A=[1;2;3;4;5];
writematrix(A, 'test2.xlsx', 'Range', 'D1:D5')
m2 = readtable('test2.xlsx', 'ReadVariableNames', false);
writetable(m2, 'test2.csv', 'WriteVariableNames', false)
ただ、方法2だと.csv⇔.xlsxに変換しないとwritematrixでRange指定ができないので、あまりメリットは無いかと思います。
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre スプレッドシート en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!