使用Python和Pandas导出SQLite数据到Excel的小工具
在数据处理和导出的日常工作中,有时我们需要将SQLite数据库中的数据导出到Excel文件以便进一步分析或分享。本文将介绍如何使用Python的wxPython、Pandas和SQLite3库创建一个小工具,实现从SQLite数据库中提取数据并将其导出到Excel文件的功能。
C:\pythoncode\new\dbtoexcel.py
全部代码
import wx
import pandas as pd
import sqlite3
class 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:
return
path = 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数据库文件。 -
导出数据到Excel:
on_export
方法连接到选定的数据库,执行查询并使用Pandas将查询结果导出到Excel文件。
3. 运行应用程序
在代码中,当你运行这个应用程序时,会弹出一个GUI窗口。你可以点击“选择数据库文件”按钮选择SQLite数据库文件,然后点击“导出数据到Excel”按钮将数据导出到Excel文件中。
4. 定制和扩展
你可以根据自己的需求对这个应用程序进行定制和扩展,比如:
- 添加更多的数据处理功能或筛选选项。
- 改变导出文件的格式或路径。
- 界面美化和交互体验的提升。
结果如下
C:\pythoncode\new\file_info.db
结语
通过这个简单的小工具,你可以方便地从SQLite数据库中提取数据并导出到Excel,为你的数据处理工作提供了一种便捷的解决方案。希望这篇文章能够帮助你更好地理解如何利用Python和相关库来处理和导出数据。
原文地址:https://blog.csdn.net/winniezhang/article/details/140625806
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!