arrays - MatLab:如何将具有不同数据类型的 2 个数组附加到表中?
问题描述
我正在尝试创建一个包含测量数据的表,以便稍后将其写入 SQL DB。
目前,我正在努力将 2 个具有不同数据类型的数组附加到一个表中。
电压值数组的数据类型为“double”,而时间戳为“int64”。
使用 array2table 可以正常工作,只是表的两列的数据类型都是 int64。
我设法定义了表中 2 列的数据类型,但只要我附加数组,我的表预定义表就会被覆盖。
有没有办法实现这个目标?提前致谢!
packetData = {'1.2 1573209575861;1.1 1573209575861;1.0 1573209575861;0.9 1573209575861;0.8 1573209575861;', '1.3 1573209575862;1.2 1573209575862;1.1 1573209575862;1.0 1573209575862;0.9 1573209575862;', '1.4 1573209575863;1.3 1573209575863;1.2 1573209575863;1.1 1573209575863;2.0 1573209575863;'};
stringvalues = split(packetData, ";");
dim_stringvalues = size(stringvalues);
i_max = dim_stringvalues(2)
j_max = (dim_stringvalues(3))-1
k_max = ((dim_stringvalues(3))-1)*i_max
k=1;
while k<=k_max
for i = 1:i_max
for j = 1:j_max
datagram_entries(k,1)=stringvalues(1,i,j);
k=k+1;
end
end
end
%Split and create separate arrays
split_voltage_timestamp = split(datagram_entries, " ");
voltage_string = split_voltage_timestamp(:,1)
timestamp_string = split_voltage_timestamp(:,2)
%Convert
voltage = str2double(voltage_string)
timestamp_double = str2double(timestamp_string)
timestamp = int64(timestamp_double)
%Create Table for SQL
tableSize = [length(voltage) 2] %nx2 Tabelle
data_array = [voltage timestamp];
table = table('Size', tableSize, 'VariableTypes', {'double', 'int64'}, 'Variablenames', {'Voltage', 'Timestamp'});
table = array2table(data_array, 'Variablenames', {'Voltage', 'Timestamp'});
%% HOW TO APPEND ARRAYS "voltage" and "timestamp" with their correct Datatype?
解决方案
您正在执行以下操作:
voltage
将和组合timestamp
成一个数组。此时变量类型必须相同,因此您最终将所有内容都作为int64
.从您的组合数组创建一个表。这是一个
int64
数据表,因为这是您的组合数组包含的内容。
相反,只需直接从您的变量创建一个表。请注意,这table
是一个非常糟糕的变量名,因为它会影响内置table
函数。
tbl = table( voltage, timestamp, 'VariableNames', {'Voltage', 'Timestamp'} );
或者,您可以初始化表并一一添加列:
tbl = table();
tbl.Voltage = voltage;
tbl.Timestamp = timestamp;
推荐阅读
- reactjs - 找不到 reactjs 服务人员 .license 文件
- google-cloud-platform - 如何解决我们无法连接到端口 22 上的 VM。了解有关 GCP 上此问题的可能原因的更多信息?
- html - 将 div 标签包含在输入的焦点中
- python - 使用 Execute many from pyodbc 到 SQL Server 的数据框
- javascript - 如何将 HTML 中的图像覆盖在 CSS 中的文本上
- java - 如果必须将 setter 值写入文件,如何确保数据一致性?
- .net-core - ID4 ADFS 3.0 和 oidc-client (vue spa) - 回调实现
- css - 删除具有不同高度的项目的 flexbox 行之间的空白
- java - Java NIO 仍然阻塞 GUI
- php - 为什么这个 HTML 表单不会发布它的价值?