`

Java处理csv文件

    博客分类:
  • J2EE
 
阅读更多
Java处理csv文件
5人收藏此文章, 我要收藏 发表于9个月前(2012-08-09 20:34) , 已有433次阅读 ,共0个评论
背景:

        做数据订正的时候,需要对查询出的一批数据进行批量的复杂操作,存储过程需要审批嫌麻烦,这里采用一个main函数将 csv 中的数据进行 sql 拼接。

        第一步:下载Java操作 CSV 的类库,http://ostermiller.org/utils/download.html

        第二步:配置log4j,输出sql到日志文件

01
log4j.rootLogger=CONSOLE,FILE
02
log4j.addivity.org.apache=true
03

04
# 应用于控制台
05
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
06
log4j.appender.CONSOLE.Threshold=INFO
07
log4j.appender.CONSOLE.Target=System.out
08
log4j.appender.CONSOLE.Encoding=GBK
09
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
10
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
11

12
#应用于文件
13
log4j.appender.FILE=org.apache.log4j.FileAppender
14
log4j.appender.FILE.File=C:/sqlresult.log
15
log4j.appender.FILE.Append=false
16
log4j.appender.FILE.Encoding=GBK
17
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
      

        第三步:MainCVS程序

01
package coffee;
02

03
import java.io.FileInputStream;
04
import java.io.IOException;
05

06
import org.apache.log4j.Logger;
07

08
import com.Ostermiller.util.ExcelCSVParser;
09
import com.Ostermiller.util.LabeledCSVParser;
10

11
/**
12
* 通过cvs文件生成SQL文件
13
*
14
* @author lee.ll 2012-8-9 下午2:19:41
15
*/
16
public class MainCSV {
17

18
    private static Logger    log         = Logger.getLogger(MainCSV.class.getName());
19

20
    // csv解析器,对于第一行的表头信息,自动加载为索引关键字
21
    private LabeledCSVParser csvParser;
22
    // 文件所读到行数
23
    private int              currLineNum = -1;
24
    // 用来存放当前行的数据
25
    private String[]         currLine    = null;
26

27
    // 构造函数
28
    protected MainCSV(String filePath) throws IOException{
29
        csvParser = new LabeledCSVParser(new ExcelCSVParser(new FileInputStream(filePath)));
30
        currLineNum = csvParser.getLastLineNumber();
31
    }
32

33
    // 检查是否还有数据 return ture 还有一行数据,false 没有数据
34
    public boolean hasMore() throws IOException {
35
        currLine = csvParser.getLine();
36
        currLineNum = csvParser.getLastLineNumber();
37
        if (null == currLine) return false;
38
        return true;
39
    }
40

41
    // 返回当前行数据,关键字所指向的数据 param:String filedName 该行的表头 return:String 返回当前行数据,关键字所指向的数据
42
    public String getByFieldName(String fieldName) {
43
        return csvParser.getValueByLabel(fieldName);
44
    }
45

46
    // 关闭解析器
47
    public void close() throws IOException {
48
        csvParser.close();
49
    }
50

51
    // 读取当前行数据 return String[] 读取当前行数据
52
    public String[] readLine() throws IOException {
53
        currLine = csvParser.getLine();
54
        currLineNum = csvParser.getLastLineNumber();
55
        return currLine;
56
    }
57

58
    public int getCurrLineNum() {
59
        return currLineNum;
60
    }
61

62
    public static void main(String[] args) {
63
        try {
64
            // 实例解析器CsvFileParser
65
            MainCSV parser = new MainCSV("C:\\sqlresult.csv");
66

67
            // 读取数据
68
            while (parser.hasMore()) {
69
                String updateSql = "update table set column1" + parser.getByFieldName("column1") + "), column2"
70
                                   + parser.getByFieldName("column2") + ";";
71

72
                log.info(updateSql);
73
            }
74

75
            parser.close();
76

77
            System.out.println("处理完毕!");
78
        } catch (Exception e) {
79
            System.out.println("处理失败!!!");
80
        }
81
    }
82

83
}
        我这里是将拼接好的 sql 输出到日志 C:/sqlresult.log
分享到:
评论

相关推荐

    java读写csv文件,中文乱码问题

    - 解决Java处理CSV文件时的中文乱码问题,关键在于正确指定字符编码。 - 要注意文件的读取、写入以及处理过程中的编码一致性。 - 使用专门的CSV处理库能简化操作,并提供更好的兼容性。 - 对于复杂情况,了解并...

    java 解析csv文件例子,csv文件 中文乱码问题

    对于解析CSV文件,Java社区提供了许多第三方库,如OpenCSV、SuperCSV和Apache Commons CSV等,它们提供了更高级的功能,如自动类型转换、处理复杂格式和避免内存消耗等。例如,使用Apache Commons CSV库读取CSV文件...

    java操作CSV文件

    在Java中,处理CSV文件有多种方式,本篇文章将详细介绍如何利用`opencsv-2.3.jar`库来进行高效的数据读写操作。 #### 二、所需库与环境准备 - **opencsv**: 一个用于读写CSV文件的Java库,版本为2.3。 - **开发环境...

    java使用javacsv读取csv文件 导入Mysql数据库

    首先,`javacsv`是一个轻量级的Java库,专门用于处理CSV文件。它提供了简单易用的API,使我们能够轻松地读取和写入CSV数据。在项目中使用这个库,你需要先将其添加到你的类路径中。如果你使用的是Maven,可以在pom....

    java 读写 csv 文件

    在Java编程语言中,CSV...总之,处理CSV文件在Java中是一项常见的任务,Apache Commons CSV库提供了一套强大且易用的工具,使得读写CSV文件变得简单。通过理解这些接口和方法,你可以高效地处理各种CSV数据需求。

    Java操作csv文件

    本文将深入探讨如何使用Java语言来操作CSV文件,包括读取、写入以及处理CSV数据。 首先,Java并没有内置的库直接支持CSV操作,但我们可以借助第三方库,如Apache Commons CSV、OpenCSV或Java 8引入的java.util.CSV ...

    java 导出csv文件并上传sftp

    使用univocity-parsers,我们可以方便地将Java对象转换为CSV格式,或者从CSV文件中解析数据。以下是使用该库创建CSV文件的基本步骤: 1. 添加依赖:在你的项目中,你需要引入univocity-parsers的Maven或Gradle依赖...

    java读写csv文件

    使用 Java 读写 CSV 文件可以使用 Java IO 类库,但是在实际处理中发现 CSV 文件本身包含了对各种特殊字符的处理信息,这些处理信息可能会导致读取到的字符串不是原始内容。为了解决这个问题,可以使用 javacsv 库,...

    java对csv文件进行读写操作

    在Java中,处理CSV文件通常需要借助第三方库,如本示例中的`javacsv.jar`。`javacsv`是由Dave Taylor创建的一个小型库,专门用于读写CSV文件。下面我们将详细探讨如何使用Java和`javacsv`库对CSV文件进行读写操作。 ...

    Java解析CSV文件

    在Java编程中,处理CSV文件是一项常见的任务,涉及到数据读取、解析、转换以及写入等操作。本篇将详细介绍如何在Java中解析CSV文件,并以给定的"Java解析CSV文件"主题为例,结合提供的资源——`lucky_number_format....

    java导出csv文件并压缩(含下载提示功能)

    首先,我们需要了解如何在Java中生成CSV文件。CSV文件主要由一系列行组成,每行包含一个或多个以逗号分隔的值。在Java中,我们可以使用`BufferedWriter`或者`PrintWriter`来创建和写入这些文件。例如: ```java ...

    java实现导出csv文件并上传sftp

    本篇文章将深入探讨如何使用Java实现CSV文件的生成,并将其通过SFTP(Secure File Transfer Protocol)协议上传到指定服务器。 首先,我们要介绍的是用于生成CSV文件的库:univocity-parsers。这是一个高效、灵活且...

    读取创建CSV文件并自动解析文件编码方式

    Apache Commons CSV提供了一套强大的API,能够轻松处理CSV文件的创建。 ```java import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; public class CSVWriterExample { public ...

    java导出CSV文件,EXCEL文件(不用指定下载路劲)

    在Java编程中,导出CSV(Comma Separated Values)和Excel...总之,Java提供了丰富的库来处理CSV和Excel文件,通过适当的方法,可以轻松地实现在服务器端生成文件并直接下载到客户端,而无需在服务器上保存临时文件。

    java导出,导入CSV

    总结起来,Java处理CSV文件主要涉及以下几个关键知识点: - CSV文件格式的理解,包括逗号分隔、引用字符、转义规则等。 - 使用第三方库如`javacsv`进行读写操作,理解和使用库的API。 - 文件I/O操作,如`FileReader`...

    javacsv_CsvReader:解析CSV文件

    `javacsv`库是处理CSV文件的一种工具,特别是`CsvReader`类,它提供了方便的方法来读取和解析这些文件。 `CsvReader`是`javacsv`库中的核心类,用于读取CSV文件并将其内容转换为Java对象。这个库由`csv`和`java`...

    JAVA导入CSV文件

    当需要处理这些数据时,Java提供了一些库和方法来读取、解析和操作CSV文件,进而将这些数据写入数据库。 首先,我们来讨论如何在Java中读取CSV文件。最常用的库是Apache Commons CSV和OpenCSV。这两个库都提供了...

    java 读写csv文件 csv process

    这个"java 读写csv文件 csv process"接口为处理CSV文件提供了一个全面的解决方案,它不仅实现了基本的读写功能,还支持数据转换和高级的文件修改操作。这样的接口对于需要处理CSV数据的Java项目来说非常实用,简化了...

    java csv文件读取工具类

    一个非常好用的csv文件操作工具

Global site tag (gtag.js) - Google Analytics