我每周都会生成一个要导入到我的网站上的文件,其中包含一些经常更新的产品数据。一切正常,除了生成供服务器使用的图像路径的位置。这些图像都是经过整理的,因此,如果您知道产品名称和制造商,则可以找到该图像。 ABC-123的图片是images / ABC / 123.png
虽然并非每个产品都有图像,所以我想测试图像链接,并换成产品徽标,以防图像不存在。
我尝试过的代码:
df['images']="filepath/" + df['brand'] + "/" + df['product']
if(~os.path.isfile(df['images'].values):
df['images']="filepath/" + df['brand'] + "logo.png"
出现以下错误:ValueError:stat:在路径中嵌入空字符
正在做
print(os.path.isfile(df['image'][1]))
工程,我得到的是对是假。因此,这与对整个数据帧执行操作有关,这有点奇怪,因为据我了解,我不应该遍历数据帧然后对其进行更改。
答案 0 :(得分:0)
通过将内联函数应用于DataFrame的每一行,您可以使用pandas包中的apply函数来处理整个DataFrame。
df['images'] = df.apply(lambda x: x['images'] if os.path.isfile(x['images']) else 'filepath/' + x['brand'] + '/' + 'logo.png', axis=1)