mdb格式数据清洗

2019-08-02  本文已影响0人  逍逍潇潇消消

mdb格式是微软ACCESS数据库文件,可直接从access打开。本文主要是实现转为json格式文件的操作。

处理步骤:

1.预处理:

1)导入驱动

下载地址:https://download.csdn.net/download/raindrop1988/10499459

官网的版本只支持查询一千条,所以建议下载以上的破解版本。

需加载驱动:

com.hxtt.sql.access.AccessDriver

url:

"jdbc:Access:///数据库文件路径"

连接示例:

package Test_01;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class MySQLTest {

    public static void main(String[] args) throws Exception {

        try {

            ///加载驱动jar

            Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();   

            //指定Access数据库文件的位置

            String url = "jdbc:Access:///d:/a1.mdb";//注意此处的斜杠是三个

            //建立连接

            Connection conn = DriverManager.getConnection(url, "", "");

            Statement sta = conn.createStatement();

//输入表名

            String sqlStatement= "SELECT * FROM name";

            ResultSet rs = sta.executeQuery(sqlStatement);

            System.out.println("\n查找到的学生信息");

            System.out.println("--------------------------");

            while (rs.next()) {

                System.out.print(rs.getString(2)+"\t");

                System.out.print(rs.getString(3)+"\t");

                System.out.print(rs.getString(4)+"\t");

                System.out.print(rs.getDate(5)+"\t");

                System.out.print(rs.getDouble(6)+"\n");

            }

        }catch (Exception e) {

            e.printStackTrace();

        }

    }

}

2.处理框架

4)处理模块及功能:

loader:

接口。

含有:next(),hasNext().

功能:定义有表头数据库某一行处理方法都必须要使用的两个函数。

AccessLoaderWithTitle:

Access处理实现类。

next:返回结果字符串

txtLoader:建立Access数据库连接,并读取key和对应value。

hasnext:判断是否有下一行,并把字符串写入jsonobject。

ToResultInterface:

接口。

含有:getResult(line)

功能:定义各种字符串得到jsonobject的方法。

SpiltToResultTmpl:

继承自ToResultInterface的具体实现类。

功能:将一行jsonobject的映射到的key和value重组,形成已经映射好的jsonobject。

AbstractProcessFactory:

抽象类。

含有:loader 和ToResultInterface两个接口。以及组装全流程的方法process。

功能:定义作为一个工厂的组装全部组件的功能。

SQLfactory:

继承自AbstractProcessFactory的带表头工厂具体实现类。

adjustResult:对某一条jsonobject的字段名或值进行处理,添加source字段,entityname字段,rowkey字段。

main:设置路径,映射字段的映射,编码格式,将结果写入文件。

5)处理框架步骤

主要由工厂,处理某一行的sqlloader组件,映射重组的ToResult组件,组成。

在工厂中:

1.将参数填好

2.初步处理文件:

           a.每一行数据读取并抽出变成jsonobject

           b.jsonobject转变成想要的映射

3.调整到最终内容

4.写入文件。

注意:数据库存在空值,注意做字符串处理。

上一篇 下一篇

猜你喜欢

热点阅读