在python 3中遍历图像的问题

时间:2018-10-11 12:11:13

标签: python python-3.x pandas csv dataframe

我试图遍历一些图像,并在它们上调用一个方法。实际的方法与我的问题无关,因此我尝试在下面放一个关于我的问题的最小示例:

    df = pd.read_csv('csv_file.csv')
    for index, row in df.iterrows():
 -->    with open('ImagesFolder\\' + df.LocalImage, 'rb') as images_file:
        callMethod()

“ with”行上的错误(请参见箭头)。

TypeError: expected str, bytes or os.PathLike object, not Series

它应该打开一个本地名称为CSV的图像,然后调用该方法。而是“ with”引起了上述问题。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您拥有for index, row in df.iterrows(),但是在每次迭代中,您都使用整个column \ Series(df.LocalImage)来生成文件路径。

您应该怎么做:

for path in df.LocalImage:
    with open('ImagesFolder\\' + path, 'rb') ...

或更妙的是,使用os.path.join

for path in df.LocalImage:
    with open(os.path.join('ImagesFolder', path), 'rb') ...

答案 1 :(得分:0)

同意@DeepSpace。

您还可以通过

将Series转换为String
df.LocalImage.to_string(index=False)