为什么DPS总是提excel总是显示第一行行没有数据,请...

查看: 5538|回复: 10|关注: 0
matlab如何读取excel中的数据,并间隔一定时间逐行输出

恳请大家指点,万分感谢!

for i = 1:3
& & A(i,:) = xlsread('file.xls','sheet1',strcat('B',num2str(i),':','F',num2str(i)));
& & pause(3);
end复制代码

hduscimc 发表于
为什么我试了下是出现错误呢??
??? Subscripted assignment dimension mismatch.
Error in ==& excel at 2
& & A(i,:) = xlsread('file.xls','sheet1',strcat('B',num2str(i),':','F',num2str(i)));

ilovemarson 发表于
为什么我试了下是出现错误呢??
??? Subscripted assignment dimension mismatch.

我也有一种方法,虽然比起来真是麻烦的很,但与大家分享:lolwriterange='B002:K011';
& & for i=1:28&&
& && &&&if i==28
& && && && &if k==1||k==3
& && && && && &
& && && && &end
& && &&&end
& && &&&index=find(B==i);
& && &&&n3=(i-1)*11+2;
& && &&&tempstr3=num2str(n3);
& && &&&if n3&10
& && && && &writerange(4)=tempstr3;
& && &&&elseif n3&100
& && && && &writerange(3:4)=tempstr3;
& && &&&else
& && && && &writerange(2:4)=tempstr3;
& && &&&end
& && &&&n4=i*11;
& && &&&tempstr4=num2str(n4);
& && &&&if n4&100
& && && && &writerange(8:9)=tempstr4;
& && &&&else
& && && && &writerange(7:9)=tempstr4;
& && &&&end复制代码
站长推荐 /2
活动资料已更新点击下载>>
Powered by微信开发(12)
在去年写一个 joke 随即的时候,我写了一个爬虫在我的服务器,我用代码把获取的 joke 数据排成了一个有序的txt文本,这是我
需要远程读取这个txt文本数据,需要外部访问里面的 joke 数据,遇到读取的时候第一行代码首位字符出现“?”乱码的情况,刚开
始以为是 “\u000000” 导致的,print 发现是我想错了,后来想到通过打印byte来解决,才最终搞定,今天在写 150多家快递查询
的时候,我需要把我自己写好的服务器 txt 快递商家读取,并且封装成 xml 或者 json 供自己使用,又遇到这样的问题,所以觉得
有必要分享一下解决办法以及这个问题的原因所在。
通过java写的UTF-8文件,可以获取文件里面本身的数据,但是如果用记事本将相同的内容使用UTF-8格式保存,则在使用程序读
取是会从文件中多读出一个不可见字符,这个字符在
&console 是以 “?”形式出现的,究其原因可能是 Java在 处理UTF-8 bom&
编码文件的时候有 bug,JDK 1.5.-1.7 都有出现,博主的是 1.7,我们可以这样来规避这样的问题,就是采用 byte 来重组我们的&
bytes 最后重新组合成我们的内容
下面来看一个案例剖析:
原始为处理例子:
public static void HttpRequest(String Request){
StringBuffer buffer = new StringBuffer();
URL url = new URL(Request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod(&GET&);
InputStream input = connection.getInputStream();
InputStreamReader read = new InputStreamReader(input,&UTF-8&);
BufferedReader reader = new BufferedReader(read);
while((line=reader.readLine())!=null){
buffer.append(line);
String lines = buffer.toString();
byte[] allbytes = lines.getBytes(&UTF-8&);
for (int i=0; i & allbytes. i++)
System.out.print(&原始未打乱重排字节数组,长度&+allbytes.length+&:&);
int tmp = allbytes[i];
String hexString = Integer.toHexString(tmp);
// 将每一个 byte to 十六进制,去除前2位,即0x 取后面的2位表示
hexString = hexString.substring(hexString.length() -2);
// 空格分离, 大写区分区别
System.out.print(& &+hexString.toUpperCase());
System.out.println(&\n&+new String(allbytes,&utf-8&)+&\n&);
reader.close();
read.close();
input.close();
connection.disconnect();
} catch (Exception e) {
处理后的例子:
public static void HttpRequest2(String Request){
JSONObject jsonObject =
StringBuffer buffer = new StringBuffer();
URL url = new URL(Request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod(&GET&);
InputStream input = connection.getInputStream();
InputStreamReader read = new InputStreamReader(input,&UTF-8&);
BufferedReader reader = new BufferedReader(read);
while((line=reader.readLine())!=null){
buffer.append(line);
String lines = buffer.toString();
byte[] allbytes = lines.getBytes(&UTF-8&);
byte[] new_allbytes = new byte[allbytes.length-3];
for (int i=0; i & allbytes. i++)
// 截掉乱码的字节,从第三个字节开始读取,并且重组它们
// 下标从第三个开始,所以i-3,意为着原始字节数组的索引3
// 也就是第四位作为重组后的第一个索引,以此类推
将每一个 byte to 十六进制,去除前2位,即0x 取后面的2位表示
if(i-3==0){
System.out.print(&\n经过打乱重排的字节数组,长度&+new_allbytes.length+&:&);
new_allbytes[i-3] = allbytes[i];
int temp = new_allbytes[i-3];
String result = Integer.toHexString(temp);
result = result.substring(result.length()-2);
// 空格分离,大写区分区别
System.out.print(&
&+result.toUpperCase());
System.out.print(&\n&+new String(new_allbytes,&utf-8&));
reader.close();
read.close();
input.close();
connection.disconnect();
jsonObject = JSONObject.fromObject(buffer.toString());
} catch (Exception e) {
执行结果对比:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:122945次
积分:2124
积分:2124
排名:第13694名
原创:79篇
评论:265条
文章:14篇
阅读:15516
文章:43篇
阅读:42192
文章:10篇
阅读:50307
(1)(2)(2)(1)(2)(3)(11)(4)(2)(1)(1)(2)(2)(1)(1)(1)(19)(27)(1)ACM竞赛之输入输出
时间限制(普通/Java)
MS & & & &&
运行内存限制
& & & && &
字符串的输入输出处理。
第一行是一个正整数N,最大为100。之后输入多行字符串(行数大于N),& 每一行字符串可能含有空格,且字符数不超过1000。
对于前N行字符串,按原样输出;对于其余的字符串以空格符为分割依次按行输出。注意:每行输出之间均要输出一个空行。
2www.&NUPTA&C&MN&U&P&Ter
www.&NUPTA&C&MNUPTer
对于输入输出仍有困惑的同学请仔细阅读以下内容:在ACM竞赛中,对于数据的读入,一般有以下四种情况:一、四种基本输入形式:1. 单组输入数据示例:整数求和C语言:#include&&stdio.h&
int&main()
&&&&int&a,b;
&&&&scanf(&%d&%d&,&a,&&b);
&&&&printf(&%d\n&,a+b);
}C++:#include&iostream&
using&namespace&
int&main()
&&&&int&a,b;
&&&&cin&&a&&b;
&&&&cout&&a+b&&
&&&&return&0;
}注意:输入前无需也不要输出任何提示信息。2. 多组输入数据,且不说明多少组,直到读至输入文件末尾为止示例:A + B Problem (1)C语言:#include&stdio.h&
int&main()
&&&&int&a,b;
&&&&while(scanf(&%d&%d&,&a,&b)&!=&EOF)
&&&&&&&&printf(&%d\n&,a+b);
&&&&return&0;
}说明:scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b );如果只有输入了一个整数,返回值是1,如果输入了两个,返回值是2,如果一个都没有,则返回值是EOF。EOF是一个预定义的常量,等于-1C++:#include&iostream&
using&namespace&
int&main()
&&&&int&a,b;
&&&&while(cin&&a&&b)
&&&&&&&&cout&&a+b&&
&&&&return&0;
}说明:表达式cin && m && n在读入发生错误返回0,否则返回cin的地址。3. 多组输入数据,不说明多少组,以某特殊输入为结束标志。示例:A + B Problem (2)C语言:#include&stdio.h&
int&main()
&&&&int&a,b;
&&&&while(scanf(&%d&%d&,&a,&b)!=EOF)
&&&&&&&&&&&&if(a==0&&b==0)
&&&&&&&&&&&&&&&&
&&&&&&&&&printf(&%d\n&,a+b);
&&&&return&0;
}C++:#include&iostream&
using&namespace&
int&main()
&&&&int&a,b;
&&&&while(cin&&a&&b)
&&&&&&&&if(a==0&&b==0)
&&&&&&&&&&&&
&&&&&&&&cout&&a+b&&
&&&&return&0;
}说明:当读入的a与b同时为0时,程序终止;4. 多组输入数据,开始输入一个T,接下来是T组数据示例:A + B Problem (3)C语言:#include&stdio.h&
int&main()
&&&&int&T;
&&&&int&a,b;
&&&&scanf(&%d&,&T);
&&&&while(T--)
&&&&&&&&scanf(&%d%d&,&a,&b);
&&&&&&&&printf(&%d\n&,a+b);
&&&&return&0;
}C++:#include&iostream&
using&namespace&
int&main()
&&&&int&T;
&&&&int&a,b;
&&&&cin&&T;
&&&&while(T--)
&&&&&&&&cin&&a&&b;
&&&&&&&&cout&&a+b&&
&&&&return&0;
}说明:当T组数据处理完后,程序终止;关于字符串的读入,这里再做专门讨论:二、字符串输入  对字符串的输入分三种情况:  & & 1、每个字符串中不含空格、制表符及回车  这种情况,用scanf函数是再好不过的了;
例如:要读入字符串&abcdef& 那么只要:char&str[10];
scanf(&%s&,str);
说明:scanf函数读入字符串时,是以空格、制表符及回车作为不同字符串之间的分隔符的;  2、字符串中含有空格、制表符,但不含回车  对于这种情况不能使用scanf,而应该使用gets函数;
例如:要读入字符串 &Hello world!& 那么只要:char&str[10];
gets(str);
说明:gets函数读入字符串时,只以回车作为不同字符串之间的分隔符;另外,如果要用gets读入多个字符串,可以写成 while(gets(str)){......}  3、字符串中含回车  在这种情况下,如果没有题目的说明,程序无法知道哪里是字符串的分界。那么,用scanf(&%c&,&ch)来读,一边读,一边判断分界条件是否满足,如果满足,则把当前读到的东西存到一个字符串中。三、输出处理 一般来讲,输出处理一般只有两个问题:空行打印问题与浮点数的精度问题;&1. 关于空行(Blank line)& & 很多题目都要求在输出数据的恰当位置加空行。一个空行就是一个单独的&\n&。这里,有的题目说:“After each test case, you should output one blank line”,而有的题目说:“Between each test case, you should ouput one blank line”。要注意After和Between的区别,因为如果多了一或少了空行,将导致Presentation Error甚至Wrong Answer。(1)After这种情况最简单,只需要输出结果后,再加一个printf(&\n&),:示例:A + B Problem (4)C语言:#include&stdio.h&
int&main()
&&&&int&n,sum,a;
&&&&while(scanf(&%d&,&n)&&&&n)
&&&&&&&&&sum=0;
&&&&&&&&&while(n--)
&&&&&&&&&{
&&&&&&&&&&&&&scanf(&%d&,&a);
&&&&&&&&&&&&&sum+=a;
&&&&&&&&&}
&&&&&&&&&printf(&%d\n&,sum);
&&&&&&&&&printf(&\n&);
&&&&return&0;
}C++:#include&iostream&
using&namespace&
int&main()
&&&&int&n,sum,a;
&&&&while(cin&&n&&n)
&&&&&&&&&sum=0;
&&&&&&&&&while(n--)
&&&&&&&&&{
&&&&&&&&&&&&&cin&&a;
&&&&&&&&&&&&&sum+=a;
&&&&&&&&&}
&&&&&&&&&cout&&sum&&
&&&&&&&&&cout&&
&&&&return&0;
}(2)BetweenBetween和After不同的是,最后一组结果后面不应该再加单独的&\n&,应该像这样:int&i;
for&(i&=&0;&i&&&10;&i++)
&&&&printf(&%d\n&,&a);
&&&&if&(i&!=&9)
&&&&&&&&printf(&\n&);
}由于有时候我们并不知道测试数据有几组(比如测试数据是以end of file 结束的),用上面的方法就不行了,于是,可以换一种写法:int&a;
bool&first&=&
while(scanf(&%d&,&&a)&==&1)
&&&&if&(!first)
&&&&&&&&printf(&\n&);
&&&&&&&&first&=&
&&&&printf(&%d\n&,&a);
}这样,从第二组测试数据起,在输出每组测试数据的结果之前就会输出一个空行,和想要的效果是一样的。 &2.关于精度&&(1)结果保留x位小数 这种比较简单,只要 printf(&%.xf\n&,ans); &即可;
例如,要求保留6位小数: printf(&%.6f\n&,ans);&&(2)没有说明要求保留几位,但要求与结果的误差不大于1e-x; 解决 : printf(&%.(x+3)f\n&,ans);
例如:要求与结果的误差不大于1e-9 : printf(&%.12f\n&,ans);
|&&&| 转到页头|
Designed & Developed by Weitong Lee (NUAA) and RenQing Ma (NUPT), Copyright &
NUAA ACM Team
NUPT ACM Team. All Rights Reserved.今天看啥 热点:
班上有学生若干名,已知每名学生的成绩(整数),求班上所有学生的平均成绩,保留到小数点后两位。同时输出该平均成绩整数部分四舍五入后的数值。 第一行有一个整数n(1&= n &= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的成绩,取值在int范围内。,excel小数点四舍五入#include&iostream&
#include&iomanip&
using namespace
int main()
while(cin&&n)
int score, score_sum = 0;
for(int i=0;i&n;i++)
score_sum+=
double ave_score = (score_sum * 1.0) /
cout&&setiosflags(ios::fixed)&&setprecision(2)&&ave_score&&" ";
int ave = (int)(ave_score) ;
// 双精度型强制转化为整形
ave = ( (ave + 5) / 10 ) * 10 ;
//对整形进行四舍五入
cout && ave &&
return 0 ;
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&
C++教程最近更新你现在的位置:& > &
求问下代码错在哪里,为什么输出在文件中,没有添加排好序的数字。
求问下代码错在哪里,为什么输出在文件中,没有添加排好序的数字。
rwStream:从a[first]到a[last]的数组元素是按照升序排列的//,}cout &#include <,则found==false:如果key不是从a[first]到a[last]中的任意一个值;;pause", int first, int key, bool&const int ARRAY_SIZE = 20:out |BubbleSort(a;=a = j <, int count);fstream&/&search(b;冒泡排序int main(){int i = 1:\O}}}void BubbleSort(int* pD/ & i <, finalIndex + 1);pause&Enter a number to be located, location), mid + 1, b[ARRAY_SIZE],&//, 0;cout <:app);fstream rwS否则a[location]==key且found==truevoid BubbleSort(int* pD;&);输出输入可以同时进行cout &/IntPfor (int i = 1; ", mid - 1; j++){rwStream <, int key.\, &, bool& found:;bool found.\,<:.open(&/, int count){location = mid, int& location){system(", ios.\ key:;}else if (key &typedef int* IntP在文件结尾添加if (; last)found = false,// i++){for (int j = count - 1; a[mid]){search(a;Inputvoid search(const int a[];&);}else if (key >, found, finalIndex,exit(1);对指针a改动会影响数组bconst int finalIndex = i - 1; b[i]){i++;前提条件;********************************************".is_open()){cout & a[mid]){search(a;cout &}while (rwStream &&<,/运行结果; j &&n", location); 2,rwStream &cout & pData[j - 1]){temp = pData[j - 1];}rwS<.txt",n& ",else{mid = (first + last) / &}void search(const int a[];/, b[j].close();system(&/if (first &if (key == a[mid]){found =for (int j = 0, location);n& b[i];pData[j - 1] = pData[j];>#include <:in |/n&Scin &; j--){if (pData[j] &iostream&rwSreturn 0;pData[j] = temp, int& location),
求问下代码错在哪里,为什么输出在文件中,没有添加排好序的数字。 ……
for(j=0;j&N;j++)printf(&%3d&,a[j]); //a[j]写成a[i]了!...
求高人指点,下面的这些错位代码是哪里的问题 ……
第一步 解包(Unpacking) 第二步 ***(Inastalling) 出现Update fai...
求问代码错误之处 ……
求问代码错误之处#include &fstream& #include &iostream& usi...
求助:该问题代码总是WA,请问错在哪里? ……
不多说,也不直接说你哪里有问题既然你不愿意要AC代码,相信你更想自己把问题找出来只上一个反例9999...
JS拖动层问题,求大神帮忙:下面js拖动层代码错在哪里?怎么拖动不了 ……
自己写的代码?为什么不试试jQueryUI里的
C语言中的整除问题,一个数能被另一个数整除。求大神帮看下这个代码哪里错了? ……
你的if(M%N==0)的括号,输入法有问题,换成英文输入法的 scanf(&%d %d&&M,&N...
C语言整数四则运算代码问题,帮忙看一下这个代码哪里出错了,初学者求帮助 ……
问作业 经验 个人中心 手机知道 开放平台 ...问题,帮忙看一下这个代码哪里出错了,初学者求......
问下下面的代码错在哪里? for(k=0; k!=1.0; k+=0.1) System.out.p... ……
问作业 经验 个人中心 手机知道 开放平台 问下下面的代码错在哪里? for(k=0; k!=1.0...
程序运行时出现了如下的代码,求问哪里出错了? ……
for(j=0;j&N;j++)printf(&%3d&,a[j]); //a[j]写成a[i]了!...
重新***spss即可,你盗版软件过期了
错误代码103的解决详见:/article/e73e...
问:佳能打印机黑色管的墨水进不去,显示透明管和电脑显示错误代码:5100,怎么办呢?求求各位大神解答...
问作业 经验 个人中心 手机知道 开放平台 ...问题,帮忙看一下这个代码哪里出错了,初学者求......
default: print(&enter data error!\n&); 少个f default...
第一行输入数组的元素个数,第二行输入数组的元素,代码如下:importjava.util.Scann...
// 以下代码在任意商品C环境下都可以正常运行。 // #define _CRT_SECURE_NO...
...现在是这样的 怎么更改 ,求大神帮助 (截...

参考资料

 

随机推荐