我试图遍历一些图像,并在它们上调用一个方法。实际的方法与我的问题无关,因此我尝试在下面放一个关于我的问题的最小示例:
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”引起了上述问题。
任何人都可以帮忙吗?
答案 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转换为Stringdf.LocalImage.to_string(index=False)