python - 使用 xlsx writer 将图像从 sqlite 导出到 Excel 文件
问题描述
无法使用 xlsx 编写器将图像文件从 sqlite3 数据库导出到 Excel。
import sqlite3
from xlsxwriter.workbook import Workbook
workbook = Workbook('ExportFile.xlsx')
conn=sqlite3.connect('demo.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM UsersImage")
data = cursor.fetchall()
for row in data:
zero = row[0]
one = row[1]
two = row[2]
worksheet = workbook.add_worksheet('Test Sheet')
worksheet.write('A1', zero)
worksheet.insert_image('B1', one, {'x_scale': 0.5, 'y_scale': 0.5})
worksheet.insert_image('C1', row, {'x_scale': 0.5, 'y_scale': 0.5})
workbook.close()
期望 sql Db 中的图像文件显示在 excel 表中。文本值显示正确。
ValueError:stat:路径中嵌入空字符
表语法:
CREATE TABLE `UsersImage` (
`UserID` integer,
`UserImage` BLOB NOT NULL,
`UserCar` BLOB NOT NULL,
PRIMARY KEY(`UserID`)
);
解决方案
XlsxWriter insert_image()
API 将图像文件的路径作为输入。我认为这不是 SQL 查询返回的内容。
XlsxWriter 还支持将图像作为 io.BytesIO 格式的内存字节流。请参阅文档image_data
中的参数 :insert_image()
worksheet.insert_image('B5', 'python.png', {'image_data': image_data})
推荐阅读
- ios - 使用 CameraManager 和 Swift 将捕获的视频保存到 iOS 库
- azure-active-directory - Azure AD B2C 作为 Azure AD 的声明提供者或身份提供者
- javascript - Graphql/React-Apollo:反应地图功能错误
- html - 通过在 SVG 中使用 CSS 变量
- excel - 使用 VBA 将边框应用于单个单元格
- wordpress - AWS EFS 上的 Wordpress 媒体上传问题
- vue.js - 浅山深一层
- c# - 从字符串中删除隐藏的字符
- c++ - 使用类模板的内部类模板专门化模板
- python - 我想将我的应用程序提供给某人,但它在他的计算机上不起作用 Python pyinstaller