`

CSV文件操作

阅读更多
package me.test;

import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;

import org.skife.csv.CSVReader;
import org.skife.csv.SimpleReader;

/**
 * 说明:作为示例,将CSV中的数据插入到数据库中。
 * 注意:仅仅是功能性示例,没有try...catch...,请自行追加,并确认该如何commit和rollback。
 * 
 * 
 * 数据库DDL:
 *    CREATE TABLE USER (ID INT , NAME VARCHAR(45), PRIMARY KEY(ID));
 *
 * CSV文件(C:/t.csv)中的数据内容 
 *    1, 张三 
 *    2, 李四 
 *    3, 王五
 * 
 * 参考第三方类库: 
 * MySQL Jdbc驱动包 
 *    http://www.mysql.com/products/connector/ 
 * Apache commons CSV -> Skife CSV -> csv-1.0.jar
 *    http://commons.apache.org/sandbox/csv/
 * 
 * @author btpka3@163.com
 */

public class Csv2DB {

    // 测试代码
    @SuppressWarnings("unchecked")
    public static void main(String args[]) throws ClassNotFoundException,
            SQLException, IOException {

        // 加载驱动类
        Class.forName("org.gjt.mm.mysql.Driver");

        // 创建数据库连接
        String url = "jdbc:mysql://localhost:3306/test";
        String userName = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, userName, password);

        String sql = "INSERT INTO USER(ID, NAME) VALUES(?,?)";
        PreparedStatement stmt = conn.prepareStatement(sql);
        conn.setAutoCommit(false);

        CSVReader reader = new SimpleReader();

        // CSV 文件路径
        String csvFilePath = "C:/t.csv";
        // CSV 文件中是否有一条头部记录(非数据,类似于列名)
        boolean hasHeaderRec = false;
        List<String[]> recList = reader.parse(new File(csvFilePath));
        for (int i = 0; i < recList.size(); i++) {
            String[] rec = recList.get(i);
            if (i == 0 && hasHeaderRec) {
                continue; // 跳过头部记录
            }
            stmt.clearParameters();
            stmt.setInt(1, Integer.valueOf(rec[0]));
            stmt.setString(2, rec[1]);
            stmt.execute();
        }
        stmt.close();
        conn.commit();
        conn.close();
        System.out.println("success");
    }
}
从西藏学
  • src.rar (37.7 KB)
  • 下载次数: 12
分享到:
评论

相关推荐

    对CSV文件操作方法

    以下是对CSV文件操作的详细步骤和知识点: 1. **创建CSV文件**: 创建CSV文件的基本思路是打开一个文件流,然后以逗号分隔的方式写入数据。在VC++中,可以使用`fopen()`函数打开或创建文件,`fprintf()`函数写入...

    CSV文件操作 C#.Net实例代码

    总结起来,C# .NET为CSV文件操作提供了多种方式,开发者可以根据具体需求选择合适的方法。无论是简单的读写,还是复杂的处理,都能在C#中轻松实现。通过深入理解这些基础操作,我们可以更好地在各种项目中运用CSV...

    python中csv文件操作指令.txt

    使用Python自带的`csv`模块进行CSV文件操作的基本步骤包括: 1. 导入`csv`模块。 2. 使用`open`函数以读取模式('r')或写入模式('w')打开目标CSV文件。 3. 对于读取操作,通过`csv.reader`创建一个读取对象,该...

    C# Excel/Csv文件操作的多种方法(打开,读取,赋值,保存模板,datagridview导入导出Excel等)

    C#提供了多种技术手段来操作Excel和Csv文件,每种方法都有其适用的场景和优缺点。开发者可以根据具体的项目需求和环境约束选择最适合的技术方案,以实现高效、稳定且用户友好的数据处理功能。在实际开发中,结合具体...

    python中csv文件操作练习.txt

    Python中CSV文件操作是一项基础而重要的技能,主要用于存储和交换表格数据。CSV文件由一系列记录组成,记录间以换行符分隔,每条记录由一个或多个字段组成,字段间以逗号分隔。每个字段可以包含任何字符,如果字段值...

    使用Python对Csv文件操作共5页.pdf.zip

    本篇文档“使用Python对Csv文件操作共5页.pdf”深入探讨了如何利用Python高效地操作CSV文件。以下是对这一主题的详细说明: 1. **Python中的csv模块**:Python的标准库提供了csv模块,用于读写CSV文件。这个模块...

    python中csv文件操作.txt

    CSV文件是一种常用的文本数据格式,用于存储表格数据,例如数字和文本。其结构简单,由一系列的记录...在数据处理的道路上,无论是简单的读取和存储,还是复杂的清洗和可视化,CSV文件操作都是一个不可或缺的基础技能。

    CSV文件操作源码

    在这个"CSV文件操作源码"中,我们可以预见到包含了一些处理CSV文件的编程代码,可能是读取、写入、分析或转换CSV数据的功能。 源码通常涉及到以下几个核心知识点: 1. **文件打开与关闭**:在处理CSV文件时,首先...

    基于python的sql操作,对csv文件操作,提供完整代码

    3. **CSV文件操作**: - Python的内置`csv`模块用于读写CSV文件。例如,读取CSV文件到列表: ```python import csv with open('students.csv', 'r') as file: reader = csv.reader(file) student_data = [row...

    csv文件操作.rar_csv文件写入_labview csv写入_labview写csv_labview操作csv_shown

    labview写入csv文件,可以轻松写入文件,简单易懂

    c# 对CSV文件操作(写入、读取、修改)

    C# 对CSV文件操作(写入、读取、修改) C# 对CSV文件操作是指通过C# 编程语言对CSV(Comma Separated Values,逗号分隔值)文件进行读写和修改操作。CSV文件是一种 plaintext 文件格式,用逗号分隔每个字段,常用于...

    CSV文件操作及Gzip压缩文件操作

    CSV文件的统计,使用了linq、linq to sql、DataTable的各种操作。 对统计好的文件进行的导出CSV和excel操作。本项目还涉及到文件的下载操作及断点续传操作,以及性能监视的部分功能。可谓多重技术混合,对初步入门的...

    VC++读写CSV文件的例子

    为了方便使用,可以封装一个CSV文件操作类,提供更高级别的API,如`readRow()`和`writeRow()`。此外,还可以处理包含逗号、引号等复杂情况的CSV文件,例如使用双引号包裹含有逗号的字段。 对于压缩包子文件...

    csv文件读写操作

    总结,CSV文件读写在VS2015的MFC环境中主要涉及文件操作、字符串处理和用户界面交互。通过合理的编程设计,可以实现高效且易维护的CSV数据管理功能。在实际项目中,还需要考虑数据验证、错误处理、用户体验等多个...

    C++读写CSV文件

    这个C++实现支持以下CSV文件操作: 1. **CSV创建**:创建一个新的CSV文件并写入数据。 2. **行列插入**:可以在任意位置插入新的行或列,需要维护数据的对应关系。 3. **行列修改**:定位到特定的行列,修改其值。 4...

Global site tag (gtag.js) - Google Analytics