Come unire i dati da più file Excel in un singolo file Excel o accedere al database?


12

Ho alcune dozzine di file Excel che sono tutti dello stesso formato (ovvero 4 fogli di lavoro per file Excel). Devo combinare tutti i file in 1 file master che deve contenere solo 2 dei 4 fogli di lavoro. I fogli di lavoro corrispondenti di ciascun file Excel hanno lo stesso nome delle intestazioni di colonna.

Mentre ogni file è strutturato allo stesso modo, le informazioni nei fogli 1 e 2 (ad esempio) sono diverse. Quindi non può essere combinato in un file con tutto in un foglio!

Non ho mai usato VBA prima e mi chiedo dove potrei iniziare questa attività!

Risposte:


3

Dal momento che li volevi su un foglio, penso che quanto sopra non è quello che stavi cercando.

Uso Microsoft Access per unire i dati. In particolare, se fogli diversi hanno un identificatore simile (numero parte / persona di contatto / ect).

Si crea una "tabella" per ogni foglio di calcolo da unire Si crea una "query" che tira le colonne desiderate su un foglio


7

Vedere il componente aggiuntivo Consolidato fogli di lavoro guidato per Excel

Il componente aggiuntivo ha diverse modalità di unione, una delle quali fa esattamente ciò di cui hai bisogno.

Vedere questo collegamento per una descrizione dettagliata della modalità (come combinare fogli con lo stesso nome in uno)

Il componente aggiuntivo è uno shareware, ma ha una versione di prova completamente funzionale di 15 giorni (pulsante di download nella parte superiore della pagina), quindi puoi unire migliaia di cartelle di lavoro gratuitamente :)



4

Ecco una soluzione in Python.

import glob
import pandas as pd

path = "<path to files>"
file_identifier = "*.xlsx"

all_data = pd.DataFrame()
for f in glob.glob(path + "/*" + file_identifier):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)

stupito sempre di ciò che puoi fare con poche righe di pitone!
TimoSolo,

1
per scrivere il file, utilizzare qualcosa del genere: writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter') \n all_data.to_excel(writer, sheet_name='Sheet1') \n writer.save()
TimoSolo

0
  1. Apri tutte le cartelle di lavoro di Excel nella stessa istanza di Excel.
    • Potrebbe essere necessario fare clic sul pulsante "Ripristina" interno per visualizzare le singole cartelle di lavoro.
  2. Seleziona tutti i fogli che desideri spostare Ctrl+ facendo clic sulle schede del foglio di lavoro.
  3. Fare clic con il tasto destro su una delle schede selezionate e selezionare Sposta o Copia ...
  4. Nella finestra di dialogo che viene visualizzata, seleziona la cartella di lavoro di destinazione (la cartella di lavoro "Master"), quindi scegli dove inserirli.
    • L' opzione (sposta alla fine) è probabilmente ciò che desideri, ma puoi sempre riordinarli in un secondo momento.
    • Scegliere Crea una copia se non si desidera rimuovere i fogli dalla prima cartella di lavoro
  5. Clicca OK .

I fogli di lavoro selezionati verranno spostati o copiati dalla cartella di lavoro originale nella cartella di lavoro "Master". Chiudi semplicemente il wookbook di origine e fallo di nuovo con quello successivo, fino a quando non avrai raccolto tutti i fogli di lavoro che ti interessano in un grande wookbook. Assicurati di salvare!


Sì, funziona con Excel 2010.
Dose di chiavi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.