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

43次观看(过去30天)
你好,
我有一个带有char数据的1x1单元格(数值用分隔符连接在一起,如'12.12;34.34;…')。在Matlab中,该数据以某种方式显示为“'12.12;34.34;…" '在我将数据保存到另一个单元格数组之后。多余的撇号从何而来?我怎样才能防止这种情况发生呢?
这就是数据在Matlab中的单元格数组中显示的方式。三个撇号从第二列的第6行开始,这正是没有写入Excel文件的数据。
我的猜测是,由于单元格数组中的多个撇号,数据被解释为空字符串,因此前两个撇号之后的所有内容都被忽略/不写,但我不知道如何摆脱不必要的。
这是我如何加入数值:
m = 1:尺寸(timeseries, 2)
时间序列{m} = num2str(时间序列{m});我还没有找到一个方法把数值连接起来。
结束%,而不先将它们转换为字符串或char
Timeseries_demand = strjoin(timeseries,”;“);
然后我保存数据与:
Result (end+1,[1,2]) = [id, timeseries_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 = importdata {k,5};
Gemeinsame_knoten = importantdata{k,6};
Node_id = importdata (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:结束);
m = 1:尺寸(timeseries, 2)
时间序列{m} = num2str(时间序列{m}/gemeinsame_knoten);
结束
Timeseries_demand = strjoin(timeseries,”;“);
打破
结束
结束
scenario o_load(end+1,[1,2]) = [load_id, timeseries_demand];
结束
filename_s =“ScenarioFile_RC3_Test.xlsx”
writecell (scenario_load filename_s,“表”“加载”);

登录评论。

接受的答案

帕特里克•Schorn
帕特里克•Schorn 2021年9月30日
我发现一个excel单元格最多可以包含32767个字符。由于数据几乎有70000个字符长,所以没有写入。如果我缩短了数据中的字符量,它就工作了。
我想我将不得不将其保存为.csv文件并使用它。

更多答案(0)

下载188bet金宝搏


释放

R2020b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!