今天遇到 Oracle 导出的12万条CSV格式数据导入 Android Sqlite 中 ,整个流程记录下,分享一下,因为处于考虑数据保密问题,下列数据都为 Demo 数据。
1、首先需要将 CSV 文件处理下字符集的问题 ,众所周知 sqlite 默认字符集 UTF-8 ,涉及中文的地方如果不设置那么导入sqlite的数据将会乱码。
右键选择 CSV 文件,打开方式为 记事本 ,将会看到如下数据
需要将第一行列去除,然后将分号 ” 同时去掉,最终结果为
下面这步最重要,将文件另存为,最下方 编码 选择 UTF-8 ,然后另存到 C 盘根目录即可。
2、因为PC没有安装 sqlite ,所以这里将 sqlite 操作交给 Android 手机来处理。
首先将 数据压入 Android 手机 sd 卡中
C:\Users\John>adb push c:/employee.csv /mnt/sdcard
0 KB/s (89 bytes in 0.191s)
使用 adb 命令连接手机,进入 sd 卡目录
C:\Users\John>adb shell
$ cd /mnt/sdcard/
cd /mnt/sdcard/
使用 sqlite3 创建 mydata.db 数据库,如不指定路径,那么 sqlite3 将会默认将数据库文件创建运行 sqlite3 的目录中,建表语句可以从 oracle 中复制即可。建表完毕,可以使用 .ta 命令查看新建表是否成功。
$ sqlite3 mydata.db
sqlite3 mydata.db
SQLite version 3.6.22
Enter ".help" for instructions
sqlite> create table EMPLOYEE(xh VARCHAR2(60),xm VARCHAR2(100),bm VARCHAR2(100),dz VARCHAR2(200));
create table EMPLOYEE(xh VARCHAR2(60),xm VARCHAR2(100),bm VARCHAR2(100),dz VARCHAR2(200));
sqlite> .ta
EMPLOYEE
3、导入 csv 数据文件到新建的 employee 表中 ,需要做点准备工作。因为 csv 默认数据分割符为逗号 “,” 而 sqlite 默认数据分割符为 “|” ,先用 .show 命令确认下,然后再改,当然也可以先改 然后再用 .show 来查看,运行 sqlite 命令一定要注意他自身命令都是要 点 开头滴。
sqlite> .show
.show
echo: off
explain: off
headers: off
mode: list
nullvalue: ""
output: stdout
separator: "|"
width:
sqlite> .separator ","
.separator ","
4、上述准备工作做好之后,就可以正式导入数据。
.import //导入命令
/mnt/sdcard/employee.csv //csv文件路径
employee //csv文件导入指定表
sqlite> .import /mnt/sdcard/employee.csv employee
.import /mnt/sdcard/employee.csv employee
展示结果,OK 没啥问题。
sqlite> select * from employee;
select * from employee;
"XH","XM","BM","DZ"
"1","王轩宇","研发部","山东青岛"
"2","王云汐","运营部","山东青岛"
参考文章:
http://charlescui.iteye.com/blog/304971
文章参考:http://blog.csdn.net/johnnycode/article/details/7413111#
1. 从PL/SQL 中查询你要的数据,然后导出成
CSV
格式
文件
;
也可以使用脚本进行导出
CSV
文件
,具体如下:
--set colsep ' || '; set echo off; set feedback off; --禁止显示最后一行的计数反馈信息 set
原文地址:http://www.
sqlite
.org/
sqlite
.html
SQLite
库包含一个名字叫做
sqlite
3的命令行,它可以让用户手工输入并执行面向
SQLite
数据库的SQL命令。本文档提供一个样使用
sqlite
3的简要说明。
启动
sqlite
3程序,仅仅需要敲入带...
csv
文件
太多,很难做数据分析,可以下载sqllite到本地,将数据
导入
到sqllite中并做数据分析。下载地址:https://www.
sqlite
.org/download.html
3.1 点击sqllite3.exe
文件
3.2 新建一个db数据库
3.3 制定
导入
的规整
3.4
导入
csv
文件
到数据库中
billing.
csv
分析的
csv
文件
名称
billing 对应的数据库表名称...
SQLite
是一种轻量级的小型数据库,虽然比较小,但是功能相对比较完善,一些常见的数据库基本功能也具有,在现在的嵌入式系统中使用该数据库的比较多,因为它占用系统资源很少。
一、
sqlite
数据库简介
1) 轻量级-占用资源少
2) 独立性-不依赖其他软件
3) 隔离性-所有信息都在一个
文件
里面
4) 跨平台-
android
和ios都用的是
sqlite
我使用了the docs中稍加修改的示例类将这个非常基本的脚本组合在一起;它只需将整个表导出到
CSV
文件
:import
sqlite
3import
csv
, codecs, cStringIOclass UnicodeWriter:"""A
CSV
writer which will write rows to
CSV
file "f",which is encoded in the given ...
CSV
全称 Comma Separated values,是一种用来存储数据的纯文本
文件
格式,通常用于电子表格或数据库软件。用Excel或者Numbers都可以导出
CSV
格式的数据。
CSV
是一种简单的数据
文件
交换方式,体积小、操作占用内存小、 生成速度快、行数无限制。在一般情况下比Excel 更为简单方便, 导出
文件
是首选。
CSV
的基本规则:1.开头是不留空,以行为单位。2.可含或不含列名,含列...
一,AS开发app用,所用的数据库有限制,必须使用较小的
SQLite
(MySql和Sql Server想想就不显示)
但是该数据库并不需要我们单独下载,安装的SDK中已经有了,在C:\
Android
SDK\platform-tools目录下
最下面一个exe
文件
就是,双击可以打开dos界面进行编写
将上述讲的
SQLite
的目录(C:\
Android
SDK\platfor...
尝试以下代码,FileReader file = new FileReader(fileName);BufferedReader buffer = new BufferedReader(file);String line = "";String tableName ="TABLE_NAME";String columns = "_id, name, dt1, dt2, dt3";String st...
通过FileWriter和BufferedWriter将
SQLite
数据表导出到
csv
格式
文件
的简单方法如下:public void ExportTo
CSV
(Cursor c, String fileName) {
int rowCount = 0;
int colCount = 0;
FileWriter fw;
BufferedWriter bfw;