2016-07-04 16 views
2

Ich habe mehrere Arbeitsmappen mit jeweils drei Blättern. Ich möchte jede Arbeitsmappe durchlaufen und alle Daten von sheet_1 in eine neue Datei workbook_1, sheet_2 in Arbeitsmappe_2 Datei & sheet_3 in Arbeitsmappe_3 zusammenführen.Schleife durch einen Ordner, um mehrere Excel-Tabellen in eine Spalte zusammenzuführen

Soweit ich das Skript unten tun kann, tut alles, was ich brauche, außer, anstatt die Daten anzuhängen, überschreibt es die Daten aus der vorherigen Iteration.

Aus Gründen der Sparsamkeit habe ich gekürzt, gereinigt & mein Skript vereinfacht, aber ich bin froh, das vollständige Skript bei Bedarf zu teilen.

import pandas as pd 
import glob 

search_dir= ('/Users/PATH/*.xlsx') 

sheet_names = ['sheet_1','sheet_2','sheet_2'] 

def a_joiner(sheet): 
    for loop_x in glob.glob(search_dir): 
    try: 

     if sheet == 'sheet_1': 
      id_file= pd.ExcelFile(loop_x)        
      df_1 = id_file.parse(sheet, header= None)    
      writer= pd.ExcelWriter('/Users/PATH/%s.xlsx' %(sheet), engine= 'xlsxwriter')       
      df_1.to_excel(writer)      
      writer.save() 

     elif sheet == 'sheet_2': 
      #do same as above 

     else: 
      #and do same as above again 

    except Exception as e: 
     print('Error:',e) 

for sheet in sheet_names: 
    a_joiner(sheet) 

Antwort