PostgreSQL:Python无法保存字符串数组

时间:2015-01-05 16:11:32

标签: python arrays postgresql feature-extraction

我有一个字符串数组。该字符串的每一行包含1440个“数字”。使用下面的代码程序运行正常但是当我通过pgAdmin检查功能列时它是空的。包含图像路径并且是主键的“image”列正确填充。如果我尝试将该功能保存到“图像”列中,我会收到一个错误,即现在有足够的空间:

  

索引行大小2896超过索引的最大值2712

但是当我将数组保存到“feature”列时,我不认为这是一个问题,因为我没有错误。

for imagePath in glob.glob(args["dataset"] + "/*.jpg"):
    # Get the image
    imageID = imagePath[imagePath.rfind("/") + 1:]
    image = cv2.imread(imagePath)

    # Find the features
    features = cd.describe(image)

    # Put the features into DB
    features = [str(f) for f in features]
    cursor.execute("insert into index (image,feature) values (%s,%s);",  (imageID,features))
    conn.commit()

conn.close() 

更新:这似乎是与pgAdmin相关的问题,因为如果我获取列,我会得到所有数字。

1 个答案:

答案 0 :(得分:1)

您在列上有索引,并且您正在尝试插入对该索引而言过宽的数据。 如果您不需要在该索引上进行排序,则切换到哈希索引可能是一个很好的解决方案,否则您需要重新考虑它。