生成随机数将csv中数据元素置零,并保存到另一个csv

第二部分:随机将csv中数据元素置零,并保存到另一个csv:
首先读取csv文件:

读取方法与前面一致

BufferedReader reader = new BufferedReader(new FileReader("D:\\realdataset.csv"));

在csv数据范围内生成随机数(我选的csv表格,共有569行数据,9个属性)

			Random random=new Random();
			int row=0;
			int col=0;
			String[] instring=new String[570]; //0-569,生成一个String型数据,保存读取的每一行数据
			
			ReadIn myread=new ReadIn(); //ReadIn是前面编写的读取数据的Class,使用时需要import进来

			//for(int count=0;count<256;count++) {
				row=random.nextInt(568)+2;  //行的范围是2-570
				col=random.nextInt(8)+1; //列的范围是1-9

读取csv中的每一行,对随机生成的row和col置零,数据结果保存在instring[]中

				for(int i=0;i<=569;i++) {
					instring[i]=reader.readLine();//读取每一行
					if(i==row-2) {//读取到指定行
						String temp="";
						temp=String.valueOf(myread.readin(row-2, col));//读取指定行的指定列数据,放入temp
						//System.out.println(instring[i]);
						//System.out.println(temp); //检验是否读对
						instring[i]=instring[i].replace(temp,"0" );//替换temp数据为0
						//System.out.println(instring[i]);
					}
				}

  接下来是保存到另一个csv的过程:
创建文献写入的位置和名称:
				File mycsv=new File("D:\\realdataset1.csv");
				BufferedWriter bw=new BufferedWriter(new FileWriter(mycsv));

逐行写入:

				for(int j=0;j<=569;j++) {
					
					//instring=reader.readLine();
					bw.write(instring[j]);
					bw.newLine();
				}

刷新保存:

				bw.flush();
				reader.close();
			
			    bw.close();

  随机将csv中的数据置零,并写入csv:源代码

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页