sqlite3 与 pandas

作者: 水之心 | 来源:发表于2019-07-30 08:12 被阅读0次

对于一个 sqlite3 的小白,通过 sqlite3 的表头使用 pandas 来获取 sqlite3 的数据内容(已经知道 sqlite3 的表头,但是 sqlite3 的表头你是通过第三方软件获知的)是十分容易的。但是,使用第三方软件获取 sqlite3 的表头,实在的对不起 Python 了,因为 Python 知道如何获取 sqlite3 的表头。

class SQLDataset:
    def __init__(self, sql_name):
        '''
        sqlite3存在系统表sqlite_master,结构如下:
        sqlite_master(
            type TEXT,      #类型:table-表,index-索引,view-视图
            name TEXT,      #名称:表名,索引名,视图名
            tbl_name TEXT,
            rootpage INTEGER,
            sql TEXT
            )
        '''
        self.sql_name = Path(sql_name)

    @property
    def tab_names(self):
        '''
        获取 sqlite3 数据的全部表名
        '''
        with sqlite3.connect(self.sql_name) as conn:
            cu = conn.cursor()  # 获取表名,保存在tab_name列表
            cu.execute("select name from sqlite_master where type='table'")
            tab_name = cu.fetchall()
        return [line[0] for line in tab_name]

    def is_null(self):
        if self.tab_names == []:
            return True
        else:
            return False

    def _sql2pd(self):
        # root sqlite3 数据的 path
        with sqlite3.connect(self.sql_name) as con:
            # read_sql_query和read_sql都能通过SQL语句从数据库文件中获取数据信息
            pd_list = [pd.read_sql(
                f"SELECT * FROM {tab_name}", con=con) for tab_name in self.tab_names]
        return pd_list

调取方法:

sq = SQLDataset(sql_name)

使用 sq.tab_names 来获取全部的表头名称。

相关文章

  • sqlite3 与 pandas

    对于一个 sqlite3 的小白,通过 sqlite3 的表头使用 pandas 来获取 sqlite3 的数据内...

  • SQLite3 使用

    连接到SQLITE3 新增、查询 1、新建表格 2、使用pandas 3、使用pandas读取sqlite

  • 使用sqlite3存储奥斯卡金像奖提名信息

    SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard ...

  • sqlite的用法

    SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard ...

  • SQLite - Python

    SQLite - Python 安装 SQLite3 可使用 sqlite3 模块与 Python 进行集成。sq...

  • Electron基于Sqlite3的数据字典与Nginx同步

    Electron基于Sqlite3的数据字典与Nginx同步 在我看来,Electron基于Sqlite3的数据字...

  • SQLite锁机制

    一、SQLite3 事务与锁状态描述 SQLite3总共有三种事务类型:BEGIN [ DEFERRED /IMM...

  • Pandas

    Panda 安装 MacOS: Ubuntu: Pandas的基本介绍 Pandas与Numpy的不同与联系 如果...

  • SQLite3简介

    SQLite3 可使用 sqlite3 模块与 Python 进行集成。基本上使用的是SQL语句,来操作数据库。 ...

  • pymysql 笔记

    与pandas 联动

网友评论

    本文标题:sqlite3 与 pandas

    本文链接:https://www.haomeiwen.com/subject/ipnwrctx.html