Python 基于匹配的不同图纸/文件的总和值

Python 基于匹配的不同图纸/文件的总和值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个名字列表,一个excel文件,里面有10张表格。 我正在使用conda 2.7的熊猫 文件中的列(相同的列名): 名字 可乐 可乐 价值观 每张图纸都有名称,这些名称是前面提到的名称列表的子集 我需要做的是用一张纸输出一个文件。每张图纸的结构如下所示: 名称列表|值|表1 |值|表2 |……|值|表10 |总和|值 我需要一步一步地浏览每一页,并在以下条件下拉出与名称关联的值:[名称列表]=[名称] 例如: list of names = ["Jack","Jill","Doe"] 第

我有一个名字列表,一个excel文件,里面有10张表格。 我正在使用conda 2.7的熊猫

文件中的列(相同的列名):

  • 名字
  • 可乐
  • 可乐
  • 价值观
  • 每张图纸都有名称,这些名称是前面提到的名称列表的子集

    我需要做的是用一张纸输出一个文件。每张图纸的结构如下所示:

    名称列表|值|表1 |值|表2 |……|值|表10 |总和|值

    我需要一步一步地浏览每一页,并在以下条件下拉出与名称关联的值:[名称列表]=[名称]

    例如:

    list of names = ["Jack","Jill","Doe"]
    
    第1页:

    name | col1 | col2 | value
    Jack |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | col1 | col2 | value
    Jill |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | value_sheet1 | value_sheet2 | ... | summed_value
    Jack |     10       |      0       |  .. |    10
    Doe  |     15       |      15      |  .. |    30
    Jill |      0       |      10      |  .. |    10
    
    第2页:

    name | col1 | col2 | value
    Jack |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | col1 | col2 | value
    Jill |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | value_sheet1 | value_sheet2 | ... | summed_value
    Jack |     10       |      0       |  .. |    10
    Doe  |     15       |      15      |  .. |    30
    Jill |      0       |      10      |  .. |    10
    
    输出表:

    name | col1 | col2 | value
    Jack |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | col1 | col2 | value
    Jill |   .. |   .. |  10
    Doe  |  ..  |  ..  |  15
    
    name | value_sheet1 | value_sheet2 | ... | summed_value
    Jack |     10       |      0       |  .. |    10
    Doe  |     15       |      15      |  .. |    30
    Jill |      0       |      10      |  .. |    10
    
    感谢您的帮助

    谢谢。

    更新更多工作表

    l=[df1,df2]
    l=[y.set_index('name').add_prefix('sheet'+str(x+1)+'_') for x,y in enumerate(l)]
    df=pd.concat(l,axis=1,sort=False)
    df['New']=df.filter(like='value').sum(1)
    df
    Out[485]: 
          sheet1_value  sheet2_value   New
    Jack         10.0          NaN  10.0
    Doe          15.0         15.0  30.0
    Jill          NaN         10.0  10.0
    
    如何创建dfs的
    列表

    xl = pd.ExcelFile(fn)
    
    
    d={name:xl.parse(name) for name in xl.sheet_names}
    l=d.values()
    

    嗯,如果我需要一步一步地检查每张表?(共10张)。我正在使用for循环逐步遍历工作表名称,然后在for循环中读入每张工作表。对不起,我仍然有点困惑。你能列出for循环在这里起作用的地方吗?我不明白df1和df2来自哪里。(我几天前才开始与熊猫合作)。我很感激你的回答。@lazycamper好的,那么你不知道如何将不同的表格读入熊猫?不,我有这个部分在工作。对于工作表名称中的工作表:df5=pd.read_excel(xls,str(sheet))@lazycamper我已经更新了dfs列表的来源:-)