我正在尝试使用以下代码导入csv file(7816 x 119),其中包含许多小数字(介于1.0E-11和1.0E-9之间):
filename = 'dataset.csv';
D = importdata(filename,',',1);
当我检查导入结果时,我获得了
D=
data: [187x119 double]
textdata: {1x119 cell}
colheaders: {1x119 cell}
请注意,D
的大小远小于原始数据大小。
当我使用数字较大的矩阵(非科学记数法)进行相同的处理时,我没有任何问题。
我想知道MATLAB是否有可以在csv文件中导入的大小限制或科学记数法中的数字限制?
答案 0 :(得分:1)
据怀疑,您的数据在某些地方已损坏。在文件中搜索“DIV”,您会找到一个条目'#DIV / 0!'几次。有趣的是,这适用于我的一些matlab版本(我目前不知道版本号)以及当前版本的八度音程。
这里测试:
D = csvread('data_matlab.csv', 1, 0);
给出
Error using dlmread (line 143)
Mismatch between file and format string.
Trouble reading 'Numeric' field from file (row number 187, field number 72) ==>
#DIV/0!,1.11E-08,0,9.28E-09,2.8E-09,0.000000031,1.99E-08,6.49E-10,1.75E-09,9.66E-09,8.47E-10,3.82E-09,2.41E-10,1.71E-09,5.48E-09,1.32E-09,8.73E-09,2.05E-09,8.89E-10,3.83E-10,0,1.36E-08,2.92E-09,3.08E-...
Error in csvread (line 47)
m=dlmread(filename, ',', r, c);
您从哪里获取数据?你能影响输出吗?如果你不能手动替换错误的条目(使用适当的工具)或使用@Trogdors答案。
答案 1 :(得分:0)
我能够复制这个问题。使用XWPFParagraph p = doc.createParagraph();
XWPFRun r = p.createRun();
String imgFile = "image.png";
XWPFPicture picture = r.addPicture(new FileInputStream(imgFile), XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.pixelToEMU(855), Units.pixelToEMU(776));
没有产生该问题:
xlsread