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");
}
}
从西藏学
分享到:
相关推荐
以下是对CSV文件操作的详细步骤和知识点: 1. **创建CSV文件**: 创建CSV文件的基本思路是打开一个文件流,然后以逗号分隔的方式写入数据。在VC++中,可以使用`fopen()`函数打开或创建文件,`fprintf()`函数写入...
C# Excel/Csv文件操作的多种方法 1、通过OleDb操作excel 2、通过Microsoft.Office.Interop.Excel COM组件操作Excel 3、使用开源库NPOI操作Excel 4、使用OpenXml操作Excel 5、Excel导入DataGridView 6、Datagridview...
总结起来,C# .NET为CSV文件操作提供了多种方式,开发者可以根据具体需求选择合适的方法。无论是简单的读写,还是复杂的处理,都能在C#中轻松实现。通过深入理解这些基础操作,我们可以更好地在各种项目中运用CSV...
本篇文档“使用Python对Csv文件操作共5页.pdf”深入探讨了如何利用Python高效地操作CSV文件。以下是对这一主题的详细说明: 1. **Python中的csv模块**:Python的标准库提供了csv模块,用于读写CSV文件。这个模块...
在这个"CSV文件操作源码"中,我们可以预见到包含了一些处理CSV文件的编程代码,可能是读取、写入、分析或转换CSV数据的功能。 源码通常涉及到以下几个核心知识点: 1. **文件打开与关闭**:在处理CSV文件时,首先...
3. **CSV文件操作**: - Python的内置`csv`模块用于读写CSV文件。例如,读取CSV文件到列表: ```python import csv with open('students.csv', 'r') as file: reader = csv.reader(file) student_data = [row...
labview写入csv文件,可以轻松写入文件,简单易懂
C# 对CSV文件操作(写入、读取、修改) C# 对CSV文件操作是指通过C# 编程语言对CSV(Comma Separated Values,逗号分隔值)文件进行读写和修改操作。CSV文件是一种 plaintext 文件格式,用逗号分隔每个字段,常用于...
CSV文件的统计,使用了linq、linq to sql、DataTable的各种操作。 对统计好的文件进行的导出CSV和excel操作。本项目还涉及到文件的下载操作及断点续传操作,以及性能监视的部分功能。可谓多重技术混合,对初步入门的...
为了方便使用,可以封装一个CSV文件操作类,提供更高级别的API,如`readRow()`和`writeRow()`。此外,还可以处理包含逗号、引号等复杂情况的CSV文件,例如使用双引号包裹含有逗号的字段。 对于压缩包子文件...
总结,CSV文件读写在VS2015的MFC环境中主要涉及文件操作、字符串处理和用户界面交互。通过合理的编程设计,可以实现高效且易维护的CSV数据管理功能。在实际项目中,还需要考虑数据验证、错误处理、用户体验等多个...
这个C++实现支持以下CSV文件操作: 1. **CSV创建**:创建一个新的CSV文件并写入数据。 2. **行列插入**:可以在任意位置插入新的行或列,需要维护数据的对应关系。 3. **行列修改**:定位到特定的行列,修改其值。 4...
5. **CSV文件操作示例**: - **内容相加**:假设我们有两个CSV文件,每行对应的数据相加后写入新的CSV文件。 - **内容转置**:将CSV文件的列转换为行,即原文件的第一行变为新文件的第一列,原文件的第二行变为新...
在OpenCV2中,CSV文件的操作是通过CvMLData类来实现的,这个类主要用于机器学习算法的数据处理,特别是支持向量机(SVM)等监督学习模型。本篇文章将详细探讨如何使用CvMLData与SVM相结合,处理CSV文件中的数据,并...
这款CSV文件阅读器是一款专为简化CSV文件操作而设计的工具,旨在帮助用户更快速、便捷地查看和分析CSV数据。 首先,我们来深入了解CSV文件的结构和特点。CSV文件通常包含多行数据,每行代表一个记录,记录中的每个...