我在Oracle中有几个blob图像,所以我用python阅读它们。
我可以用我的代码正确地读取和转换来自某个table1的图像,但是当切换到table2时,我不能执行相同的代码,因为我得到了以下错误。在
cannot identify image file <_io.bytesio object at>
这是我的代码:import pandas as pd
import cx_Oracle
from PIL import Image
#[connection to database with connecting string `conn`]
#[query to acces 1 single image]
result = pd.read_sql(query, conn) #connection to db
img = result["IMAGE"][0].read() # reading the first BLOB result
pre_img = io.BytesIO(img)
Image.open(pre_img)
这段代码运行得很好,所以唯一的问题是当我试图从表1中读取图像时。同样在sqldeveloper,我可以预先显示表1中的照片,但不能使用table2。数据类型是BLOB,如Oracle中的describe(表)所示。在
可以找到img的值here