使用Python和Pandas导出SQLite数据到Excel的小工具

在数据处理和导出的日常工作中,有时我们需要将SQLite数据库中的数据导出到Excel文件以便进一步分析或分享。本文将介绍如何使用Python的wxPython、Pandas和SQLite3库创建一个小工具,实现从SQLite数据库中提取数据并将其导出到Excel文件的功能。
C:\pythoncode\new\dbtoexcel.py

全部代码

import wx
import pandas as pd
import sqlite3class ExportDataApp(wx.Frame):def __init__(self, parent, title):super(ExportDataApp, self).__init__(parent, title=title, size=(400, 200))panel = wx.Panel(self)vbox = wx.BoxSizer(wx.VERTICAL)self.file_path = wx.TextCtrl(panel, style=wx.TE_READONLY)vbox.Add(self.file_path, proportion=1, flag=wx.EXPAND | wx.ALL, border=10)select_button = wx.Button(panel, label="选择数据库文件")select_button.Bind(wx.EVT_BUTTON, self.on_select)vbox.Add(select_button, proportion=0, flag=wx.ALIGN_CENTER | wx.ALL, border=10)export_button = wx.Button(panel, label="导出数据到Excel")export_button.Bind(wx.EVT_BUTTON, self.on_export)vbox.Add(export_button, proportion=0, flag=wx.ALIGN_CENTER | wx.ALL, border=10)panel.SetSizer(vbox)self.Show()def on_select(self, event):with wx.FileDialog(self, "选择数据库文件", wildcard="SQLite databases (*.db)|*.db",style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST) as fileDialog:if fileDialog.ShowModal() == wx.ID_CANCEL:returnpath = fileDialog.GetPath()self.file_path.SetValue(path)def on_export(self, event):db_path = self.file_path.GetValue()conn = sqlite3.connect(db_path)query = "SELECT * FROM file_info"data = pd.read_sql_query(query, conn)excel_path = db_path[:-3] + "xlsx"  # 使用相同路径,仅更改文件扩展名# data.to_excel(excel_path, index=False)data.to_excel(excel_path, index=False, engine='openpyxl')  # Or 'openpyxl'conn.close()wx.MessageBox("数据已成功导出到Excel文件!", "导出完成", wx.OK | wx.ICON_INFORMATION)if __name__ == "__main__":app = wx.App()ExportDataApp(None, title="导出SQLite数据到Excel")app.MainLoop()

1. 准备工作

在开始之前,确保已经安装了wxPython、Pandas和SQLite3库。如果尚未安装,可以使用pip来安装:

pip install wxPython pandas

2. 代码解读

以上提供的Python代码展示了一个简单的应用程序,通过该应用程序可以选择SQLite数据库文件,从中提取数据并将其导出到Excel文件。让我们逐步解读这段代码:

  • wxPython GUI部分:创建了一个基本的GUI窗口,包含选择数据库文件和导出数据到Excel的按钮。

  • 选择数据库文件:通过on_select方法,用户可以选择要导出数据的SQLite数据库文件。

  • 导出数据到Excelon_export方法连接到选定的数据库,执行查询并使用Pandas将查询结果导出到Excel文件。

3. 运行应用程序

在代码中,当你运行这个应用程序时,会弹出一个GUI窗口。你可以点击“选择数据库文件”按钮选择SQLite数据库文件,然后点击“导出数据到Excel”按钮将数据导出到Excel文件中。

4. 定制和扩展

你可以根据自己的需求对这个应用程序进行定制和扩展,比如:

  • 添加更多的数据处理功能或筛选选项。
  • 改变导出文件的格式或路径。
  • 界面美化和交互体验的提升。

结果如下

在这里插入图片描述
C:\pythoncode\new\file_info.db

结语

通过这个简单的小工具,你可以方便地从SQLite数据库中提取数据并导出到Excel,为你的数据处理工作提供了一种便捷的解决方案。希望这篇文章能够帮助你更好地理解如何利用Python和相关库来处理和导出数据。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

5.Fabric的共识机制

在Fabric中,有以下3中典型共识机制。 Solo共识 solo共识机制只能用于单节点模式,即只能有一个Orderer节点,因此,其共识过程很简单,每接收到一个交易信息,就在共识模块的控制下产生区块并广播给节点存储到账本中。 Solo 模式下的共识只适用于一个Orderer节点,所以可以在…

汉明权重(Hamming Weight)(统计数据中1的个数)VP-SWAR算法

汉明权重(Hamming Weight)(统计数据中1的个数)VP-SWAR算法 定义 汉明重量是一串符号中非零符号的个数。它等于同样长度的全零符号串的汉明距离(在信息论中,两个等长字符串之间的汉明距离等于两个字符串对应位置的不同…

无线麦克风推荐哪些品牌,领夹麦克风哪个品牌好,无线麦克风推荐

​作为消费类电子产品,麦克风随着市场需求和技术进步,每年都有新产品系列涌现,特别是领夹麦克风,近年来经历了显著的市场变革和技术突破。从早期的新闻采访、节目录制和影视后期录音中常用的无线小蜜蜂话筒,到如今在网…

【保姆级讲解C语言中的运算符的优先级!】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

创建最佳实践创建 XML 站点地图--SEO

您是否正在努力让您的网站被搜索引擎索引?您想提高您网站的搜索引擎知名度吗?如果是,您可能会错过 XML 站点地图的重要性。XML 站点地图在改善您网站的 SEO 方面发挥着至关重要的作用。‍ XML 站点地图是您网站结构的蓝图,可帮助…

RH436 Managing LVM Shared Volume Groups

RH436 Managing LVM Shared Volume Groups 1. 启动lab环境2. 准备lvm卷组3. 创建逻辑卷4. 配置集群资源启动顺序5. 确认各节点lvs正常6. LVM-HA和LVM-Share使用场景 1. 启动lab环境 [studentworkstation ~]$ lab start lvm-shared2. 准备lvm卷组 所有节点安装依赖包 yum ins…

react中组件间的通信

一、父传子 1.代码展示 import React, { useState } from react;function SonPage(props){ // 子组件const {msg} propsreturn (<div>我是子组件 {msg}</div>) }function App() { // 父组件const [msgText,setMsgText] useState(父传子)return (<div classN…

掌握VR全景技术,需要具备哪些条件?

VR全景技术自从进入市场以来&#xff0c;就在各个行业领域尝试落地运用&#xff0c;包括但不限于广告宣传、学校教育、医疗、工业、农业等领域。随着5G 技术的不断普及&#xff0c;VR全景技术也逐渐被应用到日常生活中的各个方面&#xff0c;从地产中介到车企销售&#xff0c;从…

Electron的入门介绍与使用(1)共30节

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 入门指南​ Electron 是网页应用 …

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十章 Linux用户层和内核层

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

力扣第二十五题——K个一组反转链表

内容介绍 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内…

Vscode离线下载对应版本的ms-python.vsix

一、查看vscode的版本号和发行时间 vscode界面中Help-About查看版本号和发行时间&#xff0c;ms-python的发行时间需要和这个时间相近&#xff1a; 二、在github仓库中查看ms-python有什么版本&#xff0c;以及发行时间 github仓库路径 https://github.com/microsoft/vsco…

力扣题库合集(2):动态规划(1)

本文将持续更新~~ hello hello~ &#xff0c;这里是绝命Coding——老白~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff1a;绝命C…

qt中charts图表的使用方法

折线图 #include "widget.h" #include "ui_widget.h" #include <QtCharts/QChart> #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> #include<QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent), …

Python解释器:CPython 解释器

一、什么是python解释器 Python解释器是一种用于执行Python代码的程序。 它将Python源代码转换为机器语言或字节码&#xff0c;从而使计算机能够执行。 1.1 Python解释器分类 1、CPython CPython 是 Python 的主要实现&#xff0c;由 C 语言编写。大多数用户在日常开发中使…

“机器说人话”-AI 时代的物联网

万物互联的物联网愿景已经提了许多年了&#xff0c;但是实际效果并不理想&#xff0c;除了某些厂商自己的产品生态中的产品实现了互联之外&#xff0c;就连手机控制空调&#xff0c;电视机和调光灯都没有实现。感觉小米做的好一点&#xff0c;而华为的鸿蒙的全场景&#xff0c;…

MMCV 核心组件分析(一):整体概述

概述 MMCV 是计算机视觉研究的基础库&#xff0c;并提供以下功能。

Go基础编程 - 12 -流程控制

流程控制 1. 条件语句1.1. if...else 语句1.2. switch 语句1.3. select 语句1.3.1. select 语句的通信表达式1.3.2. select 的基特性1.3.3. select 的实现原理1.3.4. 经典用法1.3.4.1 超时控制1.3.4.2 多任务并发控制1.3.4.3 监听多通道消息1.3.4.4 default 实现非堵塞读写 2. …

海康威视综合安防管理平台 detection 前台RCE漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 海康…

k8s中部署nacos

1 部署nfs # 在k8s的主节点上执行 mkdir -p /appdata/download cd /appdata/download git clone https://github.com/nacos-group/nacos-k8s.git 将nacos部署到middleware的命名空间中 kubectl create namespace middleware cd /appdata/download/nacos-k8s # 创建角色 kub…