我有一个文件夹,里面有许多不同的图像(.jpg),另外还有一个csv文件,其中包含不同的图像名称。csv文件的每一行都有不同的图像名称组合。例如,对于3名参与者,组合如下:
images1 = ['01_2.jpg', '06_2.jpg', '08_1.jpg', '04_2.jpg', '10_1.jpg']
images2 = ['10_1.jpg', '01_2.jpg', '06_2.jpg', '08_1.jpg', '03_1.jpg']
images3 = ['06_2.jpg', '08_1.jpg', '01_2.jpg', '04_2.jpg', '10_1.jpg']
在csv文件中,以上列表中的每个元素都属于一列。另外,images1在第一行,images2在第二行,images3在第3行。文件如下所示:
^{pr2}$我的问题发生在尝试从csv文件中随机选择一行(按连续顺序遍历其每一列),并将其与每个列匹配时姓名.jpg从images文件夹。由于csv文件保存了每行图像的显示顺序,我希望第n行第m列中的名称与匹配其字符串名称的图像匹配(例如“06_2.jpg”)。在
如何使用csv文件中一行中的每个项目从文件夹中检索图像并显示它们?到目前为止,我已经完成了以下工作:
from psychopy import core, visual, gui, data, misc, event, logging
from time import strftime
import numpy, random
import os, glob
import string
import csv
# RETRIEVE IMAGES FROM FOLDER
path = "/Users/mdc/Dropbox/UMARM/int/stim/"
paintings = []
for file in os.listdir( path )
if file.lower().endswith(".jpg"):
paintings.append(file)
# READ ITEMS
stim_order = [] # to store some list from csv (random row)
f1 = open('list_stim.csv')
items = csv.reader(f1, delimiter=',', quotechar='"')
for row in items:
stim_order.append(row)
要从CSV文件中获取随机行,可以使用以下方法:
这会将整个CSV文件读入名为
image_sets
的行列表中。然后使用Python的random.choice()
函数选择一个随机行。然后它使用一个循环来显示随机行中的每个图像。在因此,一个可能的随机输出是:
^{pr2}$然后,您可以压缩此代码以获得相同的结果:
^{3}$相关问题 更多 >
编程相关推荐