检查Pandas Dataframe中的文件链接

时间:2018-11-20 17:41:30

标签: python pandas csv

我每周都会生成一个要导入到我的网站上的文件,其中包含一些经常更新的产品数据。一切正常,除了生成供服务器使用的图像路径的位置。这些图像都是经过整理的,因此,如果您知道产品名称和制造商,则可以找到该图像。 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]))

工程,我得到的是对是假。因此,这与对整个数据帧执行操作有关,这有点奇怪,因为据我了解,我不应该遍历数据帧然后对其进行更改。

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)