为什么“writecell”不写某些单元格数组数据到excel文件?

42次浏览(过去30天)
你好,
我有一个1x1单元格,其中包含字符数据(数值与分隔符连接在一起,如'12.12;34.34;…')。在Matlab中,该数据以某种方式显示为“'12.12;34.34;…"在我将这些数据保存到另一个单元格数组之后。额外的撇号是从哪里来的?我怎样才能避免这种情况的发生?
这就是数据在Matlab中的单元数组中显示的方式。三撇号从第二列的第6行开始,这正是没有写入Excel文件的数据。
我的猜测是,由于单元格数组中的多个撇号,数据被解释为空字符串,因此前两个撇号之后的一切都被忽略/不写,但我不知道如何摆脱不必要的撇号。
这就是我如何连接数值:
m = 1:尺寸(timeseries, 2)
Timeseries {m} = num2str(Timeseries {m});我还没有找到将数值连接在一起的方法。
结束%而不首先将它们转换为字符串或字符
timesies_demand = strjoin(timeseries,”;“);
然后我用:
Result (end+1,[1,2]) = [id, timesies_demand];
并编写一个excel (.xlsx)文件:
writecell(结果(:1),文件名,“表”“数据”“范围”" A1 ");
writecell(结果:2),文件名,“表”“数据”“范围”“B1”);
我用的是2020b。
提前感谢。
3评论
帕特里克•Schorn
帕特里克•Schorn 2021年9月29日
编辑:帕特里克•Schorn 2021年9月29日
@Image分析师 文件名的扩展名为xlsx。
@Kumar Pallav 不幸的是,我不能共享数据,但我可以共享代码:
读入“timeseries_de_load”的文件包含行中每个单元格中一年中的每个时间步的值。例如,第一个值在单元格B1中,下一个值在单元格C1中,然后在单元格D1中,以此类推。这是数据我想加入一个单元格与分隔符,但这不是写到excel文件。
读取到“importantdata”中的文件用于将时间序列与某些其他数据相匹配。
读入“scenario_load”的文件包含excel文件的标题和示例数据(我原始帖子中图片的第1行至第5行)。我想把时间序列数据添加到已经存在的数据中。
Importantdata = readcell()“Wichtigste_Datei_Ergebnis_HSKnoten_RegioErgebnis_Matching_Stringsbearbeitet.xlsx”“表”“Matching_Ergebnis”);
Timeseries_de_load = readcell(“Zeitreihen / RegionalDataGERMANY2030.xlsx”“表”“负载”);
场景加载= readcell()“ScenarioFile_RC3.xlsx”“表”“加载”);
k = 2:1:10%的大小(importantdata, 1)
EHV_node = importantdata{k,5};
Gemeinsame_knoten = importantdata{k,6};
Node_id = importantdata(k,1);
Load_id = strcat(node_id,“_”EHV_node,“_Load”);
n = 1:1大小(timeseries_de_load, 1)
如果比较字符串(timeseries_de_load {n, 1}, EHV_node)
Timeseries = timeseries_de_load(n,2:end);
m = 1:尺寸(timeseries, 2)
Timeseries {m} = num2str(Timeseries {m}/gemeinsame_knoten);
结束
timesies_demand = strjoin(timeseries,”;“);
打破
结束
结束
场景加载(end+1,[1,2]) = [load_id, timesies_demand];
结束
filename_s =“ScenarioFile_RC3_Test.xlsx”
writecell (scenario_load filename_s,“表”“加载”);

登录评论。

接受的答案

帕特里克•Schorn
帕特里克•Schorn 2021年9月30日
我发现一个excel单元格最多可以包含32767个字符。由于数据几乎有70,000个字符长,所以没有写入。如果我缩短数据中的字符量,它就会工作。
我想我必须把它保存到一个。csv文件和工作。

更多答案(0)

下载188bet金宝搏


释放

R2020b

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!