利用list来合并数据

合并同类数据,虽然可以使用pandas中的dataframe或者数据库的多表关联解决,考录到数据量不大,简单就用list进行解决

直接上源码

package com.hemin.qixiang;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import sun.font.EAttribute;

public class Test {
	
		public static void main(String[] args) throws Exception {
			String inputPath1="C:\\Users\\8888\\Documents\\Tencent Files\\383974457\\FileRecv\\2016.10.MD.csv";
			String inputPath2="C:\\Users\\8888\\Documents\\Tencent Files\\383974457\\FileRecv\\2016.10.AQI.csv";
			String outputPath="C:\\Users\\8888\\Documents\\Tencent Files\\383974457\\FileRecv\\2016.10.AirQuality.csv";
			
			List<String> a1 = readCsv1(inputPath1);
			List<String> a2 = readCsv1(inputPath2);
			List<String> a3 = new ArrayList<>();
			
			
			Iterator<String> iterable =a2.iterator();
			while(iterable.hasNext()){
				String str = iterable.next();
				Iterator<String> iterable1 =a1.iterator();
				while(iterable1.hasNext()){
					String st2 = iterable1.next();
					if(str.split(",")[7].equals(st2.split(",")[0])){
						a3.add(str+st2);
					}
				}
			}
			Iterator<String> iterable2 =a3.iterator();
			while(iterable2.hasNext()){
				String a = iterable2.next();
				System.out.println(a);
			}
			//System.out.println(a3.get(5));
		}
		
		public static List<String> readCsv1(String path) throws Exception{
			File file2= new File(path);
			InputStreamReader iread2 = new InputStreamReader(new FileInputStream(path));
			StringBuilder sb2 = new StringBuilder();
			List<String> list = new ArrayList<>();
			BufferedReader bufferedReader2 = new BufferedReader(iread2);
			String line2=null;
			while((line2=bufferedReader2.readLine())!=null){
				list.add(line2);
			}
			iread2.close();
			bufferedReader2.close();
			return list;
			}
		
}



经测试,效果还算满意!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值