下面是详细讲解“Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例”的完整攻略,包括以下步骤:
1. 安装相关库
在使用Python操作sqlite和Excel文件之前,需要安装相应的库:
- sqlite3:Python内置库,用于操作sqlite数据库。
- openpyxl:需要安装的Python库,用于操作Excel文件。
可以使用下面的命令来安装openpyxl库:
pip install openpyxl
2. 连接sqlite3数据库
使用Python连接sqlite3数据库,只需要如下几行代码:
import sqlite3
#连接数据库
conn = sqlite3.connect('example.db')
#创建游标
cur = conn.cursor()
#执行SQL语句
cur.execute('SELECT * FROM table_name')
#获取查询结果
result = cur.fetchall()
#关闭游标和连接
cur.close()
conn.close()
在上面的代码中,首先使用sqlite3
库中的connect
方法连接数据库,传入数据库文件名作为参数。然后使用cursor
方法创建游标,通过游标执行SQL语句,最后通过fetchall
方法获取查询结果。最后需要手动关闭游标和连接,以释放相关资源。
3. 操作Excel文件
在Python中操作Excel文件,需要使用第三方库openpyxl
。下面是一个示例代码,用于在Excel文件中创建一个表格并填充数据:
from openpyxl import Workbook
#创建Excel工作簿
wb = Workbook()
#选择活动工作表
ws = wb.active
#向表格中写入数据
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['A2'] = '张三'
ws['B2'] = 20
ws['A3'] = '李四'
ws['B3'] = 30
#保存工作簿
wb.save('example.xlsx')
在上面的示例代码中,首先引入openpyxl
库中的Workbook
类,用于创建Excel工作簿。然后选择活动工作表,并使用类似于字典访问的方式向表格中写入数据。最后调用save
方法保存工作簿。
4. 示例应用
下面是一个完整的示例,演示如何将sqlite3数据库中的数据统计后写入Excel文件:
import sqlite3
from openpyxl import Workbook
#连接数据库
conn = sqlite3.connect('example.db')
cur = conn.cursor()
#统计数据
cur.execute('SELECT col1, COUNT(col2) FROM table_name GROUP BY col1')
data = cur.fetchall()
#创建Excel工作簿
wb = Workbook()
ws = wb.active
#写入表头
ws['A1'] = '属性'
ws['B1'] = '统计值'
#写入数据
for row, d in enumerate(data):
ws.cell(row=row+2, column=1, value=d[0])
ws.cell(row=row+2, column=2, value=d[1])
#保存工作簿
wb.save('example.xlsx')
#关闭游标和连接
cur.close()
conn.close()
在上面的代码中,首先连接sqlite3数据库,然后执行SQL语句,将查询结果保存到一个变量中。接着创建Excel工作簿,写入表头和数据。最后保存工作簿并关闭游标和连接。
另外,需要注意的是,如果表格中存在中文,需要指定编码格式,例如:
#连接数据库
conn = sqlite3.connect('example.db')
cur = conn.cursor()
#设置编码格式
conn.text_factory = str
#执行SQL语句
cur.execute('SELECT * FROM table_name')
#获取查询结果
result = cur.fetchall()
#关闭游标和连接
cur.close()
conn.close()
其中,text_factory
属性用于指定编码格式,这里设置为str
表示使用默认编码格式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例 - Python技术站