如何用其他dataframe列值替换文件夹中所有csv文件的dataframes列值?

时间:2018-10-17 05:11:18

标签: python pandas

我有以下数据框 sheet1

Id  Snack      Price   
5   Orange      55    
7   Apple       53    
8   Muskmelon   33 

我还有另一个数据框替换

 Snack        Cat
   Orange      a    
   Apple       b    
   Muskmelon   c

要用其他列值替换列值,这是代码

sheet1 ['snack'] = sheet1 ['snack']。map(replace.set_index('Snack')['Cat'])

所以我将在上面的代码之后得到它。

 Id  Snack      Price   
    5   a      55    
    7   b      53    
    8   c      33 

如何对文件夹中存在的所有csv表执行相同的操作。

输入:https://www.dropbox.com/sh/1mbgjtrr6t069w1/AADC3ZrRZf33QBil63m1mxz_a?dl=0

输出:用文件夹中所有文件的替换数据框目录值替换零食栏工作表值。

1 个答案:

答案 0 :(得分:2)

我相信您需要Makefile来获取文件列表,然后循环并创建DataFrame,map并最后保存回去:

import glob

s = replace.set_index('Snack')['Cat']

for file in glob.glob('files/*.csv'):
    #df = pd.read_csv(file)
    df['Snack'] = df['Snack'].map(s)
    df.to_csv(f'{file}', index=False)