BI系统数据的导入导出会经常碰到,如何实现简易的通用导入工具呢?而不需要每次都单独开发程序实现excel数据导入。我们可以采用opencsv来解析文本文件,具体思路如下:
1.文本文件导入上传服务器
可通过jquery的ajaxfileupload异步上传,不详加描述,网上有很多相关帮助实例;
2.CSV/TXT等文本格式数据文件解析入库
代码实例:
long startTime=System.currentTimeMillis(); //计时开始
conn = SQLHandler.getInstance().getConnection(“warehouse”);
stmt = conn.createStatement(1004, 1007);
rs = stmt.executeQuery(“select * from ” + tableName
+ ” where 1=2 “);
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount(); //获取表的列数
String paraStr = “”;
for (int i = 0; i < cols; i++) {
paraStr += “?”;
if (i < cols – 1) {
paraStr += “,”;
}
}
conn.setAutoCommit(false);
String sql = “INSERT INTO ” + tableName + ” VALUES (” + paraStr
+ “)”; //构建insert sql
pstmt = conn.prepareStatement(sql);
// 全量需先清空表数据
if (importType.equals(“2″)) {
stmt.executeUpdate(“truncate table ” + tableName);
}
File file = new File(filePath);
CSVReader reader = new CSVReader(new FileReader(PropertyUtil
.getProperty(“export.path”)
+ file.getName()),delimiter.toCharArray()[0]);
String[] nextLine = null;
while ((nextLine = reader.readNext()) != null) { //逐行导入
int colNum=(nextLine.length>cols?cols:nextLine.length);
for (int i = 0; i < colNum; i++) {
//System.out.println(nextLine[i] + ” “);
pstmt.setObject(i + 1, nextLine[i]);
}
//列数据补全
if(nextLine.length<cols)
{
for(int j=nextLine.length;j<cols;j++)
{
pstmt.setObject(j + 1, “”);
}
}
pstmt.executeUpdate();
cnt++;
if(cnt%1000==0){
System.out.println(“累计导入”+cnt+”条记录”);
}
}
conn.commit();
long endTime=System.currentTimeMillis();
message = “文本数据入库成功,共导入” + cnt + “条记录!\n耗时”+(endTime-startTime)+”ms!”;
综上,采用jdbc逐条写入方式实现起来比较灵活,但对于大批量数据导入效率是不太理想,经测试1W条3字段的文本数据完成导入需70s左右。再大量级的数据导入建议后台操作或采用相关数据库工具,避免过长的页面等待时间。
分享到:
相关推荐
NULL 博文链接:https://hellosoft.iteye.com/blog/559700
xls二维结构数据表转txt数据文本等4小工具集包括xls二维结构数据表转txt数据文本、csv数据文本、mysql语句及数据预览小工具。 xls二维结构数据表转txt数据文本等4小工具集 v1.2更新日志 改进读取方式,解决读取...
在应用程序的设计中,经常需要读取Excel数据或将Excel数据导入转换到其他数据载体中,例如将Excel数据通过应用程序导入SQL Sever等数据库中以备使用。笔者在开发“汽车产业链ASP协同商务平台”中遇到了类似需求。某...
Docker镜像提供了简化的工具集,用于使用Elasticsearch和Kibana从电子邮件文件以及其他CSV数据(例如文本消息)导入和分析通信内容。 这提供了一个命令,该命令可以启动完整的分析软件堆栈,并将所有通信导入其中,...
33.10 实例 分类提取文本数据 33.11 逐行读取数据fgetl 33.12 读取二进制数据fread 33.13 移动文件指针fseek 33.14 二进制数据写出到文件fwrite 33.15 格式化混合数据写出到文件fprintf 33.16 导入工具 33.17 实例 ...
我们可以使用Matlab的数据导入工具来导入数据。Matlab支持多种数据格式,包括CSV、Excel和文本文件等。我们还可以使用Matlab的数据可视化工具来查看数据的分布和特征。 接下来,我们需要选择机器学习算法。Matlab...
注意:豆瓣网站的数据形式为文本文件(必须将导入到hive中做处理)。也可以为CSV文件,例如下图: 针对本次实验,我们需要用到Hadoop集群作为模拟大数据的分析软件,集群环境必须要包括,hdfs,hbase,hive,flume...
我们可以使用Matlab的数据导入工具来导入数据。Matlab支持多种数据格式,包括CSV、Excel和文本文件等。我们还可以使用Matlab的数据可视化工具来查看数据的分布和特征。来源地址:...
开源软件kettle是个好工具 效率高 CSV全称 Comma Separated values,是一种用来存储数据的纯文本,文件格式,通常用于电子表格或数据库软件
一款跨平台(Windows和Linux)的MySQL数据库数据导入工具,可以导入许多不同的数据格式,如MS Excel, MS Access (只能windows版本),DBF, TXT和CSV 文本文件等。带有一个数据导入向导,可以设置所有的导入选项,也...
一款跨平台(Windows和Linux)的MySQL数据库数据导入工具,可以导入许多不同的数据格式,如MS Excel, MS Access (只能windows版本),DBF, TXT和CSV 文本文件等。带有一个数据导入向导,可以设置所有的导入选项,也...
这些数据文件可以是.csv,.xls或.xlsx文件。 数据驱动程序还可以与Microsoft PICT合作。 用于数据组合测试的开源Windows工具。 Pict能够基于文本模型定义生成数据组合。 也可以在Python中实现自己的DataReader,以...
DBF文件是一种数据库文件... 3、数据处理:转换成CSV或XLS格式可以使数据更容易被导入到数据分析工具或电子表格软件中,从而进行更高级的数据处理和分析; 4、共享和发布:这些现代文件格式更适合于共享和发布数据。
exp 和 imp: exp 和 imp 是 Oracle 提供的导出和导入工具,用于在 Oracle 数据库之间导出和导入数据、表、索引、视图等数据库对象。 wrc: wrc 是 Oracle 的 Workload Replay Capture 工具,用于捕获生产环境的工作...
从各种来源导入数据,包括 CSV 文件、文本文件和 XML 文件。 将数据导出为多种格式,包括 CSV 文件、文本文件和 XML 文件。 清理和转换数据。 加入表格。 组数据。 计算统计数据。 创建报告。 SQL文件处理工具简单...
首先需要导入csv模块,然后使用csv.reader()函数来读取CSV文件中的数据。例如: import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row) 这个例子中,我们打开名...
使用导入/导出向导可以从纯文本格式(例如TXT,CSV,XML和JSON)进行数据转换。使用我们的内置编辑器添加,修改和删除记录,您可以在Tree View,JSON View和类似电子表格的经典Grid View中方便地进行编辑。Navicat ...
为您提供TxtToPG 数据转换软件下载...基本简介 TxtToPG是一个将文本(csv,tsv)文件数据导入PostgreSQL的工具,帮助用户快速轻松地将CSV和TXT格式的文档导入PostgreSQL数据库,以便导入需要的数据。其采用了简单的向导
xls二维结构数据表转txt数据文本、csv数据文本、mysql语句及数据预览小工具。原理:读取.xls文件并显示为制表符分隔.txt格式文本,支持多表。 另1:dohtml.asp可预览xls效果。你可右键查看源文件将.xls格式转html...
这些数据存储为纯CSV文本文件,并包含在此存储库中。 使用模板转换数据集。 此外,此存储库中还包含不同数据格式的模式,样式表等。 这些其他资源可在)下找到。 建造 要构建此项目,您需要安装> = 7并安装 。 这样...