python下将sqlite数据提取出来,转化为json数据

问题描述:我需要将sqlite数据提取出来做一部分处理,使用pandas,sqlite3库实现

大致的思路:使用sqlite3读取指定路径的数据,然后使用pandas.read_sql_query接收数据,然后to_dict,再写入到json文件即可。

import os
import json
import sqlite3
import shutil
import pandas as pdpath = "../../Text-To-Sql/Bird/train/train_databases/"
database_list = os.listdir(path)# database_list=['regional_sales']for database in database_list:print('现在处理的数据库是{}'.format(database))sqlite_path = path+database+"/"+database+".sqlite"# 连接到 SQLite 数据库conn = sqlite3.connect(sqlite_path)# 获取数据库中所有表格的名称cursor = conn.cursor()cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")tables = cursor.fetchall()dir_path = "../Bird_json/"+database#每次执行前都删除之前的内容再创建空if os.path.exists(dir_path):shutil.rmtree(dir_path)os.mkdir(dir_path)for table in tables:print('正在处理{}数据库的{}表'.format(database,table[0]))json_path = dir_path+"/"+table[0]+".json"df = pd.read_sql_query(f"SELECT * from `{table[0]}`", conn)df_list =  df.to_dict('records')with open(json_path,"w",encoding='utf-8')as f:json.dump(df_list,f,indent=2,ensure_ascii=False)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【强训笔记】day25

NO.1 思路&#xff1a;哈希质数判断。 代码实现&#xff1a; #include <iostream> #include<string> #include<cmath> using namespace std;bool isprime(int n) {if(n<2) return false;for(int i2;i<sqrt(n);i){if(n%i0) return false;}return true…

Vscode行尾序列LF和CRLF

提交代码时要注意&#xff1a; LF: line feed 代表换行 \n CRLF: carriage return line feed 代表回车并换行 \r\n (window系统下的换行) LF (Line Feed): 缩写&#xff1a;LF 字符&#xff1a;\n 描述&#xff1a;在Unix和Unix-like系统&#xff08;如Linux和macOS&#xf…

关于DOS

磁盘操作系统&#xff0c;Disk Operating System&#xff0c;属于单用户单任务操作系统&#xff0c;一次只能执行一个任务。一次只能执行一个任务。DOS操作系统是通过输入命令来执行一些操作。DOS已退出市场&#xff0c;WinNT/2K/XP中有个叫“命令提示符”&#xff08;CMD&…

2024-5-28 石群电路-16

2024-5-28&#xff0c;星期二&#xff0c;20:14&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天没有什么特别的事情发生&#xff0c;不过返校假期已经开始啦&#xff0c;和女朋友逛了街&#xff0c;吃了好吃的&#xff0c;学习也当然不能落下啦&#xff0…

Qt 自定义代理类

一.使用步骤 继承QStyledItemDelegate类&#xff1a;首先创建一个新的类并继承自QStyledItemDelegate类&#xff0c;作为您的自定义代理类。 实现代理类的构造函数&#xff1a;在代理类中实现构造函数&#xff0c;并在构造函数中调用基类的构造函数&#xff0c;可以选择传入一…

BIO/NIO学习

在传送文件的时候常常出现这么一个问题&#xff0c;就是当客户端的文件全部传送完了之后&#xff0c;服务器没有接收到客户端那边传过的停止信号&#xff0c;所以服务器也就跟着客户端停止运行了&#xff0c;我们可以使用 try {socket.shutdownOutput();} catch (IOException e…

web前端之vue动态访问静态资源、静态资源的动态访问、打包、public、import、URL、Vite

MENU 静态资源与打包规则动态访问静态资源直接导入将静态资存放在public目录中动态导入URL构造函数结束语实践与坑附文 静态资源与打包规则 介绍 Vite脚手架在打包代码的时候&#xff0c;会把源代码里对于静态资源的访问路径转换为打包后静态资源文件的路径。主要的区别是文件指…

ROS 话题通信(C++)

ROS 话题通信&#xff08;C&#xff09; 话题并不只属于发布者或订阅者,而是由ROS系统创建管理的,只要节点向NodeHandle大管家提出的话题发布需求或者话题订阅需求,这个话题就会自动被创建 这段话的核心是解释ROS&#xff08;Robot Operating System&#xff09;中话题&#xf…

go-gin中session实现redis前缀和db库选择+单点登录

分别实现了redigo中自动加前缀和session中自动加前缀 等有空了整理一个demo放到github上&#xff0c;到时候求个小星星 在gin-contrib/sessions/redis库中redis的前缀是被封装起来了&#xff0c;所以自定义前缀没有内部方法在这里我们自己实现一下NewStoreWithDBPrefix方法配…

记录一次开源 MaxKey 安装部署

官方文档&#xff1a;https://www.maxkey.top/doc/docs/intro/ 开源代码&#xff1a;https://toscode.mulanos.cn/dromara/MaxKey 发行版&#xff1a;https://toscode.mulanos.cn/dromara/MaxKey/releases 一、准备工作 yum install -y yum-utils yum-config-manager --add-r…

SwiftUI初探

SwiftUI 虽然出现了好几年(1.0好像2019年出的&#xff0c;还有SPM也是同一年)&#xff0c;现在已经到从1.0到5.0&#xff0c;但受限于对系统的要求(最低iOS13.0,有的要求17.0及以上)&#xff0c;每个版本里面差异也很大&#xff0c;语法和Flutter 的Dart 比较像。空闲之余可以先…

谈谈什么是生成器,它与列表推导式有何区别?以及如何使用Python进行异常处理?

生成器&#xff08;Generator&#xff09;是一种特殊的函数&#xff0c;它一次生成一个值&#xff0c;而不是一次性生成所有值。可以将其视为可恢复函数&#xff0c;在函数执行过程中&#xff0c;yield语句会返回需要的值给调用生成器的地方&#xff0c;然后退出函数。下一次调…

linux定时删除历史日志

在Linux系统中&#xff0c;日志文件是记录系统、应用程序或服务的运行信息、错误消息和警告的重要工具。然而&#xff0c;随着时间的推移&#xff0c;这些日志文件会不断积累&#xff0c;占用大量的磁盘空间。如果不及时清理&#xff0c;可能会导致磁盘空间不足&#xff0c;从而…

5、sqlmap注入post类型+os-shell

题目&#xff1a;青少年&#xff1a;Easy_SQLi 1、打开网页&#xff0c;是一个登入表单 2、判断注入类型&#xff0c;是一个字符注入&#xff0c;使用or直接绕过密码进去了 3、上bp抓取数据包&#xff0c;sqlmmap用post注入走一遍&#xff0c;找到数据库&#xff0c;账号密码&…

如何制定一个有效的现货黄金投资策略(EEtrade)

制定一个有效的现货黄金投资策略涉及多方面的考量。以下是几个步骤和考虑因素&#xff0c;可以帮助您建立一个坚实的投资策略&#xff1a; 1. 设立清晰的投资目标 决定您投资现货黄金的主要目的。是否是为了短期利润&#xff0c;长期保值增值&#xff0c;还是为了投资组合的多…

N的阶乘(高精度)

目录 题目描述 输入格式 输出格式 样例输入 样例输出 思路 参考代码 题目描述 输入正整数n&#xff0c;输出n&#xff01; 输入格式 一个正整数n&#xff0c;n 3000 输出格式 输出n&#xff01; 样例输入 3 样例输出 9 思路 主要就是高精度乘法的模版&#x…

Python中Web开发-Django框架

大家好&#xff0c;本文将带领大家进入 Django 的世界&#xff0c;探索其强大的功能和灵活的开发模式。我们将从基础概念开始&#xff0c;逐步深入&#xff0c;了解 Django 如何帮助开发人员快速构建现代化的 Web 应用&#xff0c;并探讨一些最佳实践和高级技术。无论是初学者还…

Unity3D插件开发教程(二):制作批处理工具

Unity3D插件开发教程&#xff08;二&#xff09;&#xff1a;制作批处理工具 文章来源&#xff1a;Unity3D插件开发教程&#xff08;二&#xff09;&#xff1a;制作批处理工具 - 知乎 (zhihu.com) 声明&#xff1a; 题图来自于Gratisography | Free High Resolution Pictures…

QA测试开发工程师面试题满分问答25: JVM瓶颈分析,举例说明

回答思路 JVM 性能瓶颈概述: JVM (Java Virtual Machine)是 Java 程序运行的基础环境,其性能直接影响到应用程序的整体性能。在实际项目中,我们经常会遇到 JVM 性能瓶颈,导致应用程序出现响应缓慢、CPU 利用率高、内存溢出等问题。因此,分析和诊断 JVM 瓶颈是非常重要的工作,有…

SpringValidation

一、概述&#xff1a; ​ JSR 303中提出了Bean Validation&#xff0c;表示JavaBean的校验&#xff0c;Hibernate Validation是其具体实现&#xff0c;并对其进行了一些扩展&#xff0c;添加了一些实用的自定义校验注解。 ​ Spring中集成了这些内容&#xff0c;你可以在Spri…