python读取 .sqlite 数据库文件

      继上一篇文章《python实现【国家统计局】三级区划代码和城乡划分代码爬取》我们爬取了国家统计局中公布出来的行政区划编码数据,今天我们发现了民政局也公布了类似的数据,但是这个不需要爬取,可以直接下载网站提供的压缩包就好了,压缩包解压缩后我们得到的是 .sqlite 形式的数据库文件,想要查看数据内容就需要对该类型的数据库文件进行解析处理。

     具体的数据读取实现如下:

#!usr/bin/env python
# encoding:utf-8
from __future__ import division

"""
__Author__:沂水寒城
功能:  python解析处理 .sqlite文件
"""


import sqlite3
import pandas as pd



with sqlite3.connect('data.sqlite') as con:
    df1=pd.read_sql_query("SELECT * FROM info_yuan", con=con)
    df2=pd.read_sql("SELECT * FROM info_yuan", con=con)
    print df1.shape
    print df1.dtypes
    print df1.head()

    print '='*30

    print df2.shape
    print df2.dtypes
    print df2.head()

        上述实现主要是借助于sqlite3和pandas完成了数据库文件内容的解析处理。

          其中,read_sql_query和read_sql均可以完成数据的查询操作,输出结果如下:

 


(3219, 31)
xingZhengId          object
xingZhengCode        object
shengJi              object
diJi                 object
xianJi               object
zhuDi                object
xingZhengJiBie       object
leiXing              object
renKou               object
mianJi               object
quHuaDaiMa           object
quHao                object
youBian              object
xiaXiaQingKuang      object
shiXiaQu             object
xianJiShi            object
xian                 object
ziZhiXian            object
qi                   object
ziZhiQi              object
teQu                 object
zuiZhongZhuangTai    object
shengHuiMingCheng    object
shiXiaQuRenkou       object
shiXiaQuMianji       object
xianJiShiRenkou      object
xianJiShiMianji      object
pinYin               object
jianPin              object
isShouFu             object
quanPin              object
dtype: object
  xingZhengId     xingZhengCode     ...      isShouFu      quanPin
0      119215  1387767589510000     ...             1   BeijingShi
1      122796  1387767589540000     ...             0  DongchengQu
2      119218  1387767589550000     ...             0    XichengQu
3      119219  1387767589570000     ...             0   ChaoyangQu
4      119220  1387767589590000     ...             0    FengtaiQu

[5 rows x 31 columns]
==============================
(3219, 31)
xingZhengId          object
xingZhengCode        object
shengJi              object
diJi                 object
xianJi               object
zhuDi                object
xingZhengJiBie       object
leiXing              object
renKou               object
mianJi               object
quHuaDaiMa           object
quHao                object
youBian              object
xiaXiaQingKuang      object
shiXiaQu             object
xianJiShi            object
xian                 object
ziZhiXian            object
qi                   object
ziZhiQi              object
teQu                 object
zuiZhongZhuangTai    object
shengHuiMingCheng    object
shiXiaQuRenkou       object
shiXiaQuMianji       object
xianJiShiRenkou      object
xianJiShiMianji      object
pinYin               object
jianPin              object
isShouFu             object
quanPin              object
dtype: object
  xingZhengId     xingZhengCode     ...      isShouFu      quanPin
0      119215  1387767589510000     ...             1   BeijingShi
1      122796  1387767589540000     ...             0  DongchengQu
2      119218  1387767589550000     ...             0    XichengQu
3      119219  1387767589570000     ...             0   ChaoyangQu
4      119220  1387767589590000     ...             0    FengtaiQu

[5 rows x 31 columns]
[Finished in 1.2s]

        原始数据截图如下:

python读取 .sqlite 数据库文件_第1张图片

      我们查看其前三行数据内容如下:

119215	1387767589510000	北京市(京)			东城区	省级	直辖市	1300	16412	110000			市辖区16	16	0	0	0	0	0	0	4	(中华人民共和国首都)	1300	16412	0	0	BeijingShi	bjs	1	BeijingShi
122796	1387767589540000	北京市(京)	北京市	东城区	景山街道	县级	市辖区	97	42	110101	010	100010									1						DongchengQu	dcq	0	DongchengQu
119218	1387767589550000	北京市(京)	北京市	西城区	金融街街道	县级	市辖区	139	51	110102	010	100032									1						XichengQu	xcq	0	XichengQu
119219	1387767589570000	北京市(京)	北京市	朝阳区	朝外街道	县级	市辖区	198	455	110105	010	100020									1						ChaoyangQu	cyq	0	ChaoyangQu

       每一条数据记录一共有31个属性字段。

你可能感兴趣的:(编程技术,软件工具使用)