from pathlib import Path
import sqlite3
import numpy as np
import pandas as pd
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
Python 解析 sqlite3 数据的通用代码
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、项目介绍 1.1 题目要求 要求实现的基本功能如下: 班机基本信息的管理 航班信息的管理 旅客预定机票、取消预...
- 爬虫获取到数据以后涉及到如何处理数据的问题,对于一次性的数据来说,可以将数据打印到屏幕上,如果想要进行保存,可以选...
- 一、项目介绍 1.1 题目要求 要求实现的基本功能如下: 班机基本信息的管理 航班信息的管理 旅客预定机票、取消预...
- ️深圳今天漫天的乌云和细雨,让我想起了一个抑郁症朋友和他的上帝的故事。 朋友叫做Sam,土生土长的英国人。自出生起...