• java处理csv格式数据


    package com.baorant;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    
    public class GetExcelData {
    
    	public static void main(String[] args) {
    		File csv = new File("csv//1205.csv"); // CSV文件路径
    		BufferedReader br = null;
    		try {
    			br = new BufferedReader(new FileReader(csv));
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}
    		String line = "";
    		String everyLine = "";
    		try {
    			List<String> allString = new ArrayList<>();
    			List<Integer> allInt = new ArrayList<>();
    			int[] records = new int[24 * 60 / 5];//存取每个时间段的通过数量,可以获得最大分钟后得到长度;
    			while ((line = br.readLine()) != null) // 读取到的内容给line变量
    			{
    //				System.out.println(line);
    				everyLine = line;
    				if(!everyLine.contains(" ")){
    					continue;//有些文件中时间模式没有空格
    				}
    				String tem = everyLine.substring(everyLine.lastIndexOf(" ") + 1);// 获取每一行空格后面的部分;
    				String tem2 = tem.substring(0, tem.indexOf(",", tem.indexOf(",") - 1));// 获得每一行逗号前面的部分;
    				// s.substring(0, s.indexOf(".",s.indexOf(".")-1 ))
    
    				tem2 = tem2.replace(""","");//去掉字符串中可能多出的引号
    				System.out.println(tem2);
    				System.out.println(tem2.length());
    
    				String hourStr;// 获得字符串小时部分
    				String minuteStr;// 获得字符串分钟部分
    				if(tem2.length() == 5){
    					hourStr = tem2.substring(0, 2);
    					minuteStr = tem2.substring(3, 5);
    				}else if(tem2.length() == 4){
    					hourStr = tem2.substring(0, 1);
    					minuteStr = tem2.substring(2, 4);
    				}else if(tem2.length() == 7){//时间为7位
    					hourStr = tem2.substring(0, 1);
    					minuteStr = tem2.substring(2, 4);
    				}else{//时间为8位
    					hourStr = tem2.substring(0, 2);
    					minuteStr = tem2.substring(3, 5);
    				}
    				
    				
    				if (!tem2.contains("SSID"))
    				{
    					String subHourStr;
    					String subMinuteStr;
    					if(hourStr.length() == 2)
    					{
    						if(hourStr.charAt(0) == '0'){
    							subHourStr = hourStr.substring(1, 2);
    						}else{
    							subHourStr = hourStr.substring(0, 2);
    						}
    					}else{
    						subHourStr = hourStr.substring(0, 1);
    					}
    				    
    				
    				   if(minuteStr.length() == 2)
    				   {
    					   if(minuteStr.charAt(0) == '0')
    					   {
    						   subMinuteStr = minuteStr.substring(1, 2);
    					   }else{
    						   subMinuteStr = minuteStr.substring(0, 2);
    					   }
    				  }else
    				  {
    					subMinuteStr = minuteStr.substring(0, 1);
    				  }
    				  	Integer hours = Integer.valueOf(subHourStr);//小时数
    //					System.out.println(hours);
    					int minutes = Integer.valueOf(subMinuteStr);//分钟数
    //					System.out.println(minutes);
    					
    					int minutestotal = 60 * hours + minutes;//当前时间总的分钟数
    					System.out.println(minutestotal);
    					allInt.add(minutes);
    					int n = minutestotal/5;
    					records[n] = records[n] + 1;
    					System.out.println("n:" + n + "records[minutestotal/5]:" + records[n]);
    				}
    
    				allString.add(tem2);
    				
    			}
    			System.out.println("csv表格中所有行数:" + allString.size());
    			System.out.println(allInt.size());
    			
    			for(int i = 0; i < records.length; i++){
    				System.out.print(records[i] + " ");
    			}
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    

      该程序主要获得了excel表格中的每一行数据后获得其中的时间,然后按自己需要的格式进行处理得到想要的数据。

  • 相关阅读:
    nodejs+express+mysql实现restful风格的增删改查示例
    使百度统计排除自己
    node.js和JavaScript的关系
    完善chrome翻译插件ChaZD,支持有道智云api
    面向对象编程 —— java实现函数求导
    我的第一篇博客 —— 博客内容简介
    微信公众号支付
    Shiro的原理及Web搭建
    AOP 切面编程------JoinPoint ---- log日志
    quartz 不同时间间隔调度任务
  • 原文地址:https://www.cnblogs.com/baorantHome/p/9333191.html
Copyright © 2020-2023  润新知