Java读取CSV数据并写入txt文件

读取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

Java读取CSV数据并写入txt文件的相关文章

Python连接mongodb提取部分字段内数据并写入txt文件

部门负责工业领域知识图谱构建,用于工业化与信息化两化融合,听起来好高大上好难,反正目前的我还理解不了那么深,好在有部门经理带领. 想要做专业领域知识图谱首先要有专业领域知识,这些知识从哪来呢?主要来源肯定是从互联网上爬啦! 爬下来一大堆知识直接堆在那肯定不行,还要建立起相互关系,其中重要一项就是文本分类啦!那么怎么分类呢? 还是以后再说吧...因为不管怎么做,首先都要把数据库里自己想要的数据取出来. #coding=utf-8 import sys reload(sys) sys.setdefa

Java写入TXT文件和读取

原文链接:http://blog.csdn.net/monkeyduck/article/details/11525771 package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import ja

Java读取txt文件和写入txt文件

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

转:Java读取txt文件和写入txt文件

1 package edu.thu.keyword.test; 2 3 import java.io.File; 4 import java.io.InputStreamReader; 5 import java.io.BufferedReader; 6 import java.io.BufferedWriter; 7 import java.io.FileInputStream; 8 import java.io.FileWriter; 9 10 public class cin_txt {

JAVA读取TXT文件、新建TXT文件、写入TXT文件

1.创建TXT文件 按照正常的逻辑写就好 先定义一个文件给定一个路径——>判断这个路径上这个文件存不存在——>若不存在则建立,try/catch根据程序提示自动生成就好 2.读取TXT文件 思路1: 获得一个文件路径 以这个路径新建一个文件,判断这个文件是否以正常的文件格式存在着 以这个路径创建一个阅读缓冲器:FileInputStream——>InputStreamReader——>BufferedReader 逐行判断内容是否为空,将读取结果累加到一个字符串(result)上

Asp.net读取和写入txt文件方法(实例)!

Asp.NET读取和写入txt文件方法(实例)! [程序第一行的引入命名空间文件 - 参考] System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; usi

(4)cocos2dx读取csv数据文件

cocos2dx中读取数据文件可能有很多种,像读取xml,lua,csv,json等,这些都可以作为配置数据的格式. 最近用到了读取csv数据文件,所以在网上找了一下关于这方面的技术博客.果然,网上各路大神都是不吝啬的, 不说废话了,直接上代码.代码如下(测试通过,可读取数据): .h头文件 // // QLCSVFile.h // // Created by quasi_lee on 15-7-7. // // #ifndef __QLCSVFile__ #define __QLCSVFile

C#读取固定文本格式的txt文件

C#读取固定文本格式的txt文件 一个简单的C#读取txt文档的程序,文档中用固定的格式存放着实例数据. //判断关键字在文档中是否存在 var isTr = File.ReadAllLines("1.txt").Any(x => x.Split(',')[0] == "设备ID:107157061").ToString(); //获取序列中满足查询条件的第一条数据 var a = File.ReadAllLines("1.txt").Fi

ava如何追加写入txt文件

(一)总述br/>java中,对文件进行追加内容操作的三种方法:import?java.io.BufferedWriter;import?java.io.FileOutputStream;import?java.io.FileWriter;import?java.io.IOException;import?java.io.OutputStreamWriter;import?java.io.PrintWriter;import?java.io.RandomAccessFile;//如果文件存在,则