分类目录归档:数据库

CSV双字符分隔符数据导入数据库的尝试

CSV是逗号分隔符文件,各列数据使用逗号作为分隔符,通用性较强,无论是记事本、EXCEL、各种文本处理工具或者数据库都能处理。曾经遇到过这样的问题,将某CSV文件数据导入数据库处理,该CSV文件分隔符不是逗号,而是两个字符||,为了解决这个问题,进行了一些尝试,成功导入了数据库。现对这些方法进行记录,以供以后使用。

一、该CSV原始数据的特点

接触到的CSV数据是从其他数据库导出的,各列使用双字符||作为分隔符,第一行为标题,但是导出设置应该有问题,例如空列没有任何标记,也就是说存在||||两次分隔符相连的情况,不太规范。

因此最开始尝试用EXCEL打开数据,先看看整体情况时,如果可行的话,将该EXCEL数据直接导入数据库,此方法尝试失败。EXCEL数据分列时有选项“连续分隔符作为单个处理”,由于数据中空列没有任何标记,将连续分隔符作为单个处理显然行不通,会把连续4个、6个、8个等等视为一个。

二、将双分隔符替换成单字符

之后,尝试了一种新方法,将双字符整体替换成单字符,这样直接导入数据库就不存在问题了。计划将分隔符替换成逗号,首先在整个CSV文件中查询不存在逗号,替换掉之后,数据完全变成了逗号分隔符文件,该方法成功。

三、先创建表结构再导入

数据库使用的是MariaDb,客户端是系统自带的HeidiSql,导入CSV数据时,能自动识别标题和数据。其实,在尝试上面的方法时,想过直接导入数据库,分隔符输入||,但是不知为何一直出错。如果使用上面的方法,将数据变成逗号分隔符文件,再直接导入数据库,不存在什么问题。

但是,如果数据量比较大,无法替换成常见的单字符时,如何解决?所以还是要想一个终极解决办法。经过尝试,先在数据库中建立表结构,然后导入CSV数据,并将分隔符输入||,成功导入。注意,前面尝试过直接导入CSV,自动识别标题,失败了。这次能成功,是因为提前建立了表结构。

SQLite数据库之初体验

最近要进行数据的处理和分析,数据量比较大,无法使用EXCEL存储,于是打算使用数据库存储和计算。说到数据库,以前使用过Mssql、Mysql以及ACCESS,这些数据库都比较大,安装起来麻烦,而且ACCESS不支持COUNT DISTINCT计算,于是打算使用一个比较小的,而且单机使用的数据库,经过上网查询了解到了SQLite数据库。

SQLite数据库是一款非常小的关系型数据库,只有几兆,麻雀虽小五脏俱全,支持事务处理,直接下载不用安装和配置,使用起来非常方便。支持各种编程语言的连接,下面是使用的情况:

1 下载和安装
从SQLite官网直接下载数据库即可,以win10操作系统为例,需要下载两个文件,一个是SQLite数据库的DLL文件,另一个是用于管理SQLite数据库的工具。两个文件下载完成之后,将两个文件解压出来的文件全部放到一个文件夹,为了使用方便,将该文件夹放到C盘,命名为SQLite,以下是该文件夹里面的具体内容:
sqlite3.def
sqlite3.dll
sqlite3.exe
sqlite3_analyzer.exe
sqlite3diff.exe
继续阅读SQLite数据库之初体验