在键查找中合并多个数据行

因此,我尝试合并多个CSV文件。我有一个csv,其中包含我们所存产品的当前部件号列表。抱歉,由于我是新手,所以无法嵌入图像。我见过很多类似的帖子,但没有将合并和groupby放在一起。

current_products

我有另一个csv,其中包含与该零件相关联但被拆分为多行的图像文件列表。此列表还列出了比我们提供的部件更多的部件,因此基于current_products sku的合并非常重要。

product_images

我想参考我当前使用的第一个csv,并以以下格式组合图像文件。

newestproducts

我得到了AttributeError:“功能”对象没有属性“ to_csv”,尽管当我仅在终端中打印输出时,这似乎是我想要的方式。

current_products = 'currentproducts.csv'
product_images = 'productimages.csv'
image_list = 'newestproducts.csv'

df_currentproducts = pd.read_csv(currentproducts)
df_product_images = pd.read_csv(product_images)

df_current_products['sku'] = df_currentproducts['sku'].astype(str)
df_product_images['sku'] = df_product_images['sku'].astype(str)

df_merged = pd.merge(df_current_products, df_product_images[['sku','images']], on = 'sku', how='left')

df_output = df_merged.groupby(['sku'])['images_y'].apply('&&'.join).reset_index

#print(df_output)
df_output.to_csv(image_list, index=False)
评论
Rabbit_19C
Rabbit_19C

to_csv is a method for Dataframe object. df_output is no longer a dataframe object since you used groupby. You can see this if you print type(df_output), which will result something other then dataframe. That is why he is not familiar with to_csv method.

我认为您不需要使用额外的变量:

df_merged.groupby(['sku'])['images_y'].apply('&&'.join).reset_index

df_merged.to_csv(image_list, index=False)
点赞
评论