读取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();
}
}
}

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

  1. java 读取CSV数据并写入txt文本

    java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...

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

    #coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') from pymongo import MongoClient ...

  3. java追加写入txt文件

    整理了下网上的资料,数据追加写入txt文件有三种方式,见下面代码: 方法一: public void method1() { FileWriter fw = null; try { //如果文件存在, ...

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

    package com.nickwong.code; import java.io.*; /** * Created by Nickwong on 31/07/2018. * 根据1-8楼的建议,优化 ...

  5. Java——读取和写入txt文件

    package com.java.test.a; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  6. Spark使用Java、Scala 读取mysql、json、csv数据以及写入操作

    Spark使用Java读取mysql数据和保存数据到mysql 一.pom.xml 二.spark代码 2.1 Java方式 2.2 Scala方式 三.写入数据到mysql中 四.DataFrame ...

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

    1.创建TXT文件 按照正常的逻辑写就好 先定义一个文件给定一个路径——>判断这个路径上这个文件存不存在——>若不存在则建立,try/catch根据程序提示自动生成就好 2.读取TXT文件 ...

  8. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

  9. Java读取CSV和XML文件方法

    游戏开发中,读取策划给的配置表是必不可少的,我在之前公司,策划给的是xml表来读取,现在公司策划给的是CSV表来读取,其实大同小异,也并不是什么难点,我就简单分享下Java如何读取XML文件和CSV文 ...

随机推荐

  1. Linux怎么部署docker

    Docker安装 建议在linux环境下安装Docker,window环境搭建比较复杂且容易出错,使用Centos7+yum来安装Docker环境很方便. Docker 软件包已经包括在默认的 Cen ...

  2. K-th Path CodeForces - 1196F

    题目链接:https://vjudge.net/problem/CodeForces-1196F 题意:从图中找出第K短的最短路,最短路:从一个点到另一个的最短距离. 思路:题目说了,每两个点之间的边 ...

  3. spring-boot子模块打包的jar中去掉BOOT-INF文件夹

    1.spring-boot maven打包,一般pom.xml文件里会加 <plugin> <groupId>org.springframework.boot</grou ...

  4. 树莓派使用root操作图形界面使用自带的文件管理器

    使用pi用户通过VNC登录图形界面之后,在需要修改一些文件则时提示权限不够, 命令行下使用sudo 运行就可以了.或者直接用root账户. 修改管理员密码:sudo passwd root 修改启用管 ...

  5. Caused by: java.lang.IllegalStateException: duplicate key: datasource

    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/applicatio ...

  6. 转载>>去除inline-block元素间间距的N种方法《重》

    一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子: <input /> <input type="su ...

  7. Controller的激活(2)

    通过VS 的Controller 创建想到创建的Controller 类型 实际上继承了抽象类System.Web.Mvc.Controller,他是ControllerBase的子类,抽象类Syst ...

  8. centos7离线部署Patroni

    实验环境Centos7.7.1908 x86_64 这里说明下为什么需要安装gcc readline-devel zlib-devel这三个包,因为编译安装postgres需要用到 一.首先安装gcc ...

  9. 学习:多字节编码(ANSI)和UNICODE编码的关系

    Windows 既可以使用 Unicode 字符集又可以使用传统的字符集(如多字节编码)来实现对多种语言的支持,以适应国际市场的要求.与传统的字符集编码相比,Unicode 是世界通用的字符编码标准, ...

  10. windows cmd命令查看端口占用进程

    netstat –ano|findstr [指定端口号] 通过任务管理器杀死相关的进程 方法一:使用任务管理器杀死进程打开任务管理器->查看->选择列->然后勾选PID选项,回到任务 ...