无法使用xlsx writer从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:统计:在路径中嵌入空字符
表格语法:
CREATE TABLE `UsersImage` (
`UserID` integer,
`UserImage` BLOB NOT NULL,
`UserCar` BLOB NOT NULL,
PRIMARY KEY(`UserID`)
);
答案 0 :(得分:1)
XlsxWriter insert_image()
API将图像文件的路径作为输入。我认为这不是SQL查询返回的内容。
XlsxWriter还支持将图像作为io.BytesIO格式的内存中字节流。请参见insert_image()
docs中的image_data
参数:
worksheet.insert_image('B5', 'python.png', {'image_data': image_data})