append several csv files into one

1 ビュー (過去 30 日間)
Angelavtc 2020 年 1 月 20 日
コメント済み: Walter Roberson 2020 年 6 月 13 日
Hello to all!
I am trying to append some csv files into one file using the following code:
csv1 = csvread('2011_basehourlycurves_demand.csv');
csv2 = csvread('2012_basehourlycurves_demand.csv');
allCsv = [csv1;csv2];
csvwrite('combined_csv', allCsv);
However, when I try to call my data it appears the following error:
Error using dlmread
Mismatch between file and format character vector.
Trouble reading 'Numeric' field from file (row number 1, field number 1) ==>
Which I guess is because one of my varible/columns is composed by a categorical variable.
How can I fix this error? I tried using textscan, but It was not working.
Thank you in advance!
  4 件のコメント
Andrew Janke
Andrew Janke 2020 年 1 月 31 日
Are you doing power/electricity market analysis? Always interesting to see another Energy person in the Matlab space!



Ahmed Makki
Ahmed Makki 2020 年 6 月 13 日
編集済み: Walter Roberson 2020 年 6 月 13 日
I applied the same script that you used to combine 8 csv files and it worked.
t1 = csvread('B155p1.csv');
t2 = csvread('B155p2.csv');
t3 = csvread('B155p3.csv');
t4 = csvread('B155p4.csv');
t5 = csvread('B155p5.csv');
t6 = csvread('B155p6.csv');
t7 = csvread('B155p7.csv');
t8 = csvread('B155p8.csv');
allData = [t1;t2;t3;t4;t5;t6;t7;t8];
csvwrite('combined_155.csv', allData);
  1 件のコメント
Walter Roberson
Walter Roberson 2020 年 6 月 13 日
csvread() will only work for data that is all numeric; the user had categorical data.


その他の回答 (1 件)

Andrew Janke
Andrew Janke 2020 年 1 月 31 日
If you're using a newer version of Matlab, you probably want to use readtable instead of csvread. Don't forget the file extension for your output file.
t1 = readtable('2011_basehourlycurves_demand.csv');
t2 = readtable('2012_basehourlycurves_demand.csv');
allDAta = [t1;t2];
writetable('combined_csv.csv', allData);

Community Treasure Hunt

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

Start Hunting!

Translated by