我正在尝试在MATLAB中的MySQL JDBC中选择数据。表中的列(file_data)之一具有类型“ longblob”。下图显示了file_data内容的更多详细信息。
前两行是标题,其余行是数据。在将此文件保存到MySQL数据库(使用spring-MVC和JSP)之前,该文件是CSV文件,其分隔符为“;”。
下图是数据库表。您可以看到file_data列的类型为“ longblob”。
但是为什么当我尝试在MATLAB的数据库浏览器中预览数据库时,它应该是blob,但显示为“ int8”。更多详细信息,请看下面的图片。
因此,我有问题:
如何使file_data在MATLAB中读为“ longblob”而不是“ int8”?
如果“ file_data”列已成功更改为longblob,则如何将其读取为表格,以便可以处理数据?
答案 0 :(得分:1)
CountOfBytesx1 Int8
等于longblob。 Int8是Matlab Byte
,而CountOfBytes是存储的字节数。
您可以将其转换回文件,例如:
fid = fopen(file_name,'w')
fwrite(fid,file_data,'*int8')
fclose(fid)
来自matlab answers的代码。其中file_name
和file_data
是从查询中获取的值。
或者您可以尝试Retrieve blob field from mySQL database with MATLAB
的解决方案之一要读取CSV数据,请使用csvread
解决问题后,也将解决方案添加到cross post。
顺便说一句:我从没使用过Matlab
,但是对matlab int8 longblob
的一次简单的网络搜索指导了我。