读取CSV数据并写入txt文件
package com.vfsd; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import com.csvreader.CsvReader; /******************************************************************************************************* * Copyright: vc1.0 2018. All rights reserved. <br> * The whole package including this class is licensed under <br> * <br> * @ClassName: <br> * @Directory: <br> * @author: <br> * @version: v1.0.0 <br> * @date: <br> * @Description: <br> * 1、 <br> * 2、 <br> * @Others: 暂无说明 <br> * @Modification History: <br> * 1、 <br> * Date: <br> * Author: <br> * Modification: <br> * <br> * 2、 <br> * Date: <br> * Author: <br> * Modification: <br> * * @Statement: If you are using the package or parts of it in any commercial way, a commercial license is required. <br> * Visit <a href=‘http://www.bim-times.com‘>http://www.bim-times.com</a> for more information.<br> * *********************************************************************************************************/ public class ReadCSVAndWriteTxt { public static void main(String[] args) throws IOException { String csvFilePath="D:\\BIM\\2019042702\\2019042701.csv"; String xFileName="D:\\BIM\\2019042702\\X_train.txt"; String yFileName="D:\\BIM\\2019042702\\y_train.txt"; //readCSVAndWrite(csvFilePAth); //readCSVAndWriteData(csvFilePath,xFileName,yFileName); //String h1[] = {"A","B","C","D","E","F"}; String h1[] = {"A","B","C","D","K","P"}; //String h1[] = {"actionid","actionname","1","\‘test\‘","\‘test2\‘","\‘test3\‘"}; readCSVAndWrite1("D:\\BIM\\ifc1.csv",h1); } /** * 读取CSV文件内容 * @param csvFileName * @throws IOException */ public static void readCSVAndWrite(String csvFileName) throws IOException{ try { // 创建CSV读对象 CsvReader csvReader = new CsvReader(csvFileName); // 读表头 csvReader.readHeaders(); while (csvReader.readRecord()){ // 读一整行 //System.out.println(csvReader.getRawRecord()); // 读这行的某一列 System.out.println(csvReader.get("A")+"\t"+csvReader.get("B")+"\t"+csvReader.get("C")); } } catch (IOException e) { e.printStackTrace(); } } public static void readCSVAndWrite1(String csvFileName,String h1[]) throws IOException{ try { // 创建CSV读对象 CsvReader csvReader = new CsvReader(csvFileName); // 读表头 csvReader.readHeaders(); while (csvReader.readRecord()){ // 读一整行 //System.out.println(csvReader.getRawRecord()); // 读这行的某一列 if(csvReader.get(h1[0]).contains("actionid")) { //System.out.println(csvReader.get(h1[0])+"\t"+csvReader.get(h1[1])+"\t"+csvReader.get(h1[2])+"\t"+csvReader.get(h1[3])+"\t"+csvReader.get(h1[4])+"\t"+csvReader.get(h1[5])); } if(csvReader.get(h1[1]).endsWith("f") && !csvReader.get(h1[2]).equals("")) { System.out.println(csvReader.get(h1[0])+"\t"+csvReader.get(h1[1])+"\t"+csvReader.get(h1[2])+"\t"+csvReader.get(h1[3])+"\t"+csvReader.get(h1[4])+"\t"+csvReader.get(h1[5])); } } } catch (IOException e) { e.printStackTrace(); } } /** * 读取CSV文件内容 * @param csvFileName * @throws IOException */ public static void readCSVAndWriteData(String csvFileName,String xFileName,String yFileName) throws IOException{ File xFile = new File(xFileName); File yFile = new File(yFileName); xFile.createNewFile(); yFile.createNewFile(); FileWriter xFileWriter = new FileWriter(xFile); FileWriter yFileWriter = new FileWriter(yFile); BufferedWriter xBufferWriter = new BufferedWriter(xFileWriter); BufferedWriter yBufferWriter = new BufferedWriter(yFileWriter); String lineA = "A1"; String lineB = "B1"; String lineC = "C"; try { // 创建CSV读对象 CsvReader csvReader = new CsvReader(csvFileName); // 读表头 csvReader.readHeaders(); while (csvReader.readRecord()){ // 读一整行 //System.out.println(csvReader.getRawRecord()); // 读这行的某一列 System.out.println(csvReader.get(lineA)+"\t"+csvReader.get(lineB)+"\t"+csvReader.get(lineC)); //xBufferWriter.write(csvReader.get(lineA)+"\t"+csvReader.get(lineB)+"\n"); if(csvReader.get(lineC).equals("1")) { yBufferWriter.write("1"+"\n"); xBufferWriter.write(csvReader.get(lineA)+"\t"+csvReader.get(lineB)+"\n"); }else if(csvReader.get(lineC).equals("27")) { yBufferWriter.write("2"+"\n"); xBufferWriter.write(csvReader.get(lineA)+"\t"+csvReader.get(lineB)+"\n"); }else if(csvReader.get(lineC).equals("33")) { yBufferWriter.write("3"+"\n"); xBufferWriter.write(csvReader.get(lineA)+"\t"+csvReader.get(lineB)+"\n"); } } xBufferWriter.flush(); yBufferWriter.flush(); } catch (IOException e) { e.printStackTrace(); } } }
原文地址:https://www.cnblogs.com/herd/p/11996857.html
时间: 2024-12-28 02:03:18