Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用openpyxl从两个不同的excel文件中提取值,并使用Python创建新的数据框_Python_Pandas_Numpy_Openpyxl - Fatal编程技术网

使用openpyxl从两个不同的excel文件中提取值,并使用Python创建新的数据框

使用openpyxl从两个不同的excel文件中提取值,并使用Python创建新的数据框,python,pandas,numpy,openpyxl,Python,Pandas,Numpy,Openpyxl,我有两个excel工作簿,df1和df2,我想从中提取值,使用openpyxl创建一个新的数据框架 df1 2021 2021 q1 q2 ID 5 10 ID2 1 1 df2 name rank hello 1000 所需的 #Create a new dataframe using both excel values inputs from both df1 and df2

我有两个excel工作簿,df1和df2,我想从中提取值,使用openpyxl创建一个新的数据框架

df1

      2021    2021
      q1      q2
ID    5       10
ID2   1       1

df2

   name    rank
   hello   1000

所需的

    #Create a new dataframe using both excel values inputs from both df1 and df2

    name   year   quarter  ID  rank     ID2
 
    hello  2021   q1       1   1000     5

   from  openpyxl import load_workbook
   import pandas as pd
   wb1 = load_workbook('df1.xlsx')
   wb2 = load_workbook('df2.xlsx')


   df1 = pd.DataFrame(wb1.values)
   df2 = pd.DataFrame(wb2.values)


   #Grabbing all the required values from wb1

   a = wb1['B1']
   b = wb1['B2']
   c = wb1['B3']
   d = wb1['B4']
   e = wb1['A3']
   f = wb1['A4']


   #Grabbing all the required values from wb2

   g = wb2['A1']
   h = wb2['A2']
   i = wb2['B1']
   j = wb3['B2']

我知道如何使用openpyxl提取值,但不太清楚如何使用这些提取的值创建新的数据帧。欢迎提出任何建议。

您可以这样做:

data = {'Name':[h],
    'Year':[a],
    'Quarter': [b],
    'ID': [c],
    'Rank': [j],
    'ID2': [d]
}

df = pd.DataFrame(data)

谢谢-如果我想再添加一行怎么办?我将如何指定(在数据帧中)您的意思是在定义新的数据帧之后还是在定义它时?定义时,您可以轻松地将其添加到列表中,如“Name”:[h,z,n,m]中的每一列。