从易定制角度解决SQLite数据导出带标题至Excel的问题
解决SQLite数据导出Excel并添加表头、索引及格式设置的问题
以下是完整的实现代码,包含你需要的所有功能:添加可配置表头、为Place列生成从1开始的索引、设置表头加粗,同时用xlsxwriter完成Excel导出:
import sqlite3 import xlsxwriter # 连接SQLite数据库并执行查询 conn = sqlite3.connect('your_database.db') cursor = conn.cursor() # 替换为你的实际复杂查询语句(注意:这里查询不含Place列,后续手动生成) cursor.execute("SELECT Players, Score, Delta, Game FROM your_target_table") raw_data = cursor.fetchall() conn.close() # 配置可自定义的表头(直接修改这个列表即可调整表头内容) custom_headers = ['Place', 'Players', 'Score', 'Delta', 'Game'] # 处理数据:为每条记录添加从1开始的Place索引 processed_data = [] for index, row in enumerate(raw_data, start=1): processed_data.append((index,) + row) # 写入指定Excel文件的指定工作表 with xlsxwriter.Workbook('target_excel.xlsx') as workbook: # 创建指定名称的工作表 worksheet = workbook.add_worksheet('指定工作表名') # 创建单元格加粗格式 bold_style = workbook.add_format({'bold': True}) # 写入表头(第0行),并应用加粗格式 worksheet.write_row(0, 0, custom_headers, bold_style) # 写入处理后的数据,从第1行开始 for row_num, row_content in enumerate(processed_data, start=1): worksheet.write_row(row_num, 0, row_content)
关键功能说明
- 灵活配置表头:直接修改
custom_headers列表即可更换表头内容,无需调整后续写入逻辑。 - Place索引生成:用
enumerate(..., start=1)自动生成从1开始的序号,和原查询结果拼接成新的记录行。 - 加粗格式设置:通过
add_format({'bold': True})创建加粗样式,写入表头时将样式作为参数传入write_row即可生效。 - 指定工作表:
add_worksheet('指定工作表名')可以直接创建你需要的工作表名称,若文件已存在会覆盖,若需追加可改用openpyxl库。
内容的提问来源于stack exchange,提问作者DmitriyN
相关产品推荐
相关产品推荐

