none
Excel 2016 come unire più file contemporaneamente RRS feed

  • Domanda

  • Buongiorno a tutti;

    Se qualcuno puoi aiutami a risolvere questo mio intoppo che ho incontrato con Excel 2016 vi sarei molto grato.

    Ebbene ho diversi file in formato .csv rinominati in questo modo 1-25 Roma, 2-25 Roma, 3-25 Roma etc... per arrivare all'ultimo file 75-25 Roma.

    I fogli hanno tutti la stessa struttura e stessa intestazione.

    Se copio manualmente i dati e relative tabelle tralasciando intestazione la cosa è funzionale ma troppo dispersive. 

    E possibile con Excel 2016 in modo automatico unire più file contemporaneamente?

    Tipo io gli indico una cartella e lui prende tutti i file che ci sono li dentro ne estrae dati e li copia ed incolla nel documento iniziale da me aperto.

    Un grazie a tutti in anticipo

    giovedì 5 maggio 2016 10:18

Tutte le risposte

  • Ciao,

    che io sappia non c'e' un modo in Excel.

    Puoi farlo in Powershell:

    gci -file .\testcsv\*.csv|%{gc $_ |select -skip 1|Add-Content SommaFile.csv} ;(import-csv sommafile.csv -header Pippo,Pluto,Paperino,Topolino)|export-csv sommafile.
    csv -notypeinfo

    nell'esempio i file .csv sono nella cartella .\testcsv, le colonne dei csv sono Pippo, pluto, paperino,topolino. Sommafile.csv conterra' tutti i dati dei vari csv


    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti



    • Modificato aperelli giovedì 5 maggio 2016 12:30
    • Proposto come risposta GastoneCanali lunedì 19 settembre 2016 22:58
    giovedì 5 maggio 2016 12:29
  • Ciao,

    che io sappia non c'e' un modo in Excel.

    Puoi farlo in Powershell:

    gci -file .\testcsv\*.csv|%{gc $_ |select -skip 1|Add-Content SommaFile.csv} ;(import-csv sommafile.csv -header Pippo,Pluto,Paperino,Topolino)|export-csv sommafile.
    csv -notypeinfo

    nell'esempio i file .csv sono nella cartella .\testcsv, le colonne dei csv sono Pippo, pluto, paperino,topolino. Sommafile.csv conterra' tutti i dati dei vari csv


    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti



    Ciao Aperelli;

    Grazie per la risposta e la tua disponibilità ad aiutarmi, tuttvia sono ignorante in materia e se non ti e di troppo disturbo potresti indicarmi powershell cosa sarebbe? Qualche link, riferimento su cui poter attingere ad altre utili informazioni?

    Inoltre sento parlare spesso di macro, non so nemmeno cosa siano anche se posso leggermente immaginare che si tratti di un qualche linguaggio di programmaizone che è possibile affiancare ad Excel 2016. Sento parlare anche di di altri software di casa microsoft tipo Acces, con cui poter agganciare e far lavorare Excel 2016. Se non è chiedere troppo al fine di poter usare al massimo excel 2016 cosa mi consigli di affiancere allo studio dello stesso? Magari se consci titoli di qualche buon libro da cui partire sia per imparare le basi che per l'avanzato, sia di excel che di prodotti da affiancare allo stesso, ti sarei molto grato.

    Grazie 1000

    venerdì 6 maggio 2016 08:00
  • Questo forum sarebbe dedicato ai professionisti IT, quindi ho dato per scontate alcune cose.

    Per aprire powershell puoi vedere qui

    Per Excel in rete trovi di tutto.

    Il primo che ho trovato e' questo e mi pare fatto abbastanza bene: http://www.excel-easy.com/


    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti

    venerdì 6 maggio 2016 11:40
  • Se vuoi una macro:

    Merge all CSV or TXT files in a folder in one worksheet

    oppure anche da DOS,

    apri un command prompt

    pushD c:\folder\dove\sono\i\file
    for /l %f in (1,1,75) do type "%f-25 roma" >>FileCSVcombinati.txt

    in  powershell.exe


    cd c:\folder\dove\sono\i\file 1..75| % {type "$_-25 roma"|select -sk 1 } >>combinati.csv
    ciao


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    venerdì 6 maggio 2016 23:20
  • Se vuoi una macro:

    Merge all CSV or TXT files in a folder in one worksheet

    oppure anche da DOS,

    apri un command prompt

    pushD c:\folder\dove\sono\i\file
    for /l %f in (1,1,75) do type "%f-25 roma" >>FileCSVcombinati.txt

    in  powershell.exe


    cd c:\folder\dove\sono\i\file 1..75| % {type "$_-25 roma"|select -sk 1 } >>combinati.csv

    In questo modo ti ritrovi le intestazioni delle colonne piú volte nel foglio combinato nel caso del cmd, niente intestazioni nel caso di powershell

    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti


    • Modificato aperelli sabato 7 maggio 2016 10:38
    sabato 7 maggio 2016 10:38
  • In questo modo ti ritrovi le intestazioni delle colonne piú volte nel foglio combinato nel caso del cmd, niente intestazioni nel caso di powershell

    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti


    Corretto, nella versione Dos ti trovi 75 intestazioni uguali, con un ordina ed eliminare le 74 linee uguali è un gioco da ragazzi in excel (volendo si poteva fare di meglio, hai ragione, ma era voluto); mentre la riga powershell mi era proprio sfuggito!

    DOS:

    :: mi è venuto in mente di usare il MORE
    pushD c:\folder\dove\sono\i\file
    type "1-25 roma" >FileCSVcombinati.txt
    for /l %f in (2,1,75) do more +1 "%f-25 roma" >>FileCSVcombinati.txt


    Powershell:

    cd c:\folder\dove\sono\i\file
    type "1-25 roma" >combinatiPS.csv
    2..75| % {type "$_-25 roma"|select -sk 1 } >>combinatiPS.csv

    Adesso entrambi sono "Ready to Run" come richiesto da fabgan

    Ciao e Grazie

    Gas


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere



    sabato 7 maggio 2016 12:38
  • Grazie a Tutti!!

    Scusate la mia ignoranza in merito a quei codici da voi riportati che a dire la verità un pò mi mettono in difficoltà.

    In breve per ottenere l'unione di più file di excel devo solamente lanciare da prompt dei comandi di windows o da quello di powershell gli script (cosi si ciamano giusto?) da voi indicati?

    Ovviamente facendo attenzione al percorso, a dove si trovano file e relativi nomi... corretto?

    domenica 8 maggio 2016 14:28
  • Grazie a Tutti!!

    Scusate la mia ignoranza in merito a quei codici da voi riportati che a dire la verità un pò mi mettono in difficoltà.

    In breve per ottenere l'unione di più file di excel devo solamente lanciare da prompt dei comandi di windows o da quello di powershell gli script (cosi si ciamano giusto?) da voi indicati?

    Ovviamente facendo attenzione al percorso, a dove si trovano file e relativi nomi... corretto?

    Per il programma dos, dovrai eseguire un cmd.exe

    l'istruzione seguente di posiziona nella direcrory dove sono i tuoi files (in powershell cd c:\folder\dove\sono\i\file)

    pushD c:\folder\dove\sono\i\file

    poi

    type "1-25 roma" >FileCSVcombinati.csv

    crea il file FileCSVcombinati.csv identico a 1-25 roma 

    for /l %f in (2,1,75) do more +1 "%f-25 roma" >>FileCSVcombinati.txt

    il for ... accoda i file "2-25 roma" in sequenza, fino a "75-25 roma" e il more +1 legge un file scartando la prima riga, quella delle intestazioni

    Per quello in powershell devi eseguire powershell.exe
    i primi due comandi sono uguali a quelli dos

    il terzo è formato dalla concatenzione di più cmdlets
    2..75
    genera una sequenza di numeri da 2 a 75 e type "$_-25 roma" legge il file select -skip 1 sarta la prima riga e la variavile $_ assumera i valori da 2 a 75 generando i nomi "2-25 roma", "3-25 roma"  ...  e infine il >> che accoda ogni file letto.

    Spero di esser stato chiaro, se i nomi sono esattamente quelli riportati "1-25 roma" lo script gunzionerà, ma ho qualche dubbio che le estensioni dei file non siano visualizzate ... (in questo caso bisognerebbe fare un minuscolo cambiamento es

    2..75| % {type "$_-25 roma.CSV"|select -sk 1 } >>combinatiPS.csv

    )

    Per essere sicuro mi riporti il nome di un file eseguendo  questi comandi un sequenza

    cmd.exe

    pushD c:\folder\dove\sono\i\file

    dir "*roma*"

    Tagliando corto esegui il cmd.exe o powershell.exe e gli incolli il nel primo caso il prmo codice nel secondo quello powerhell

    ciao


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere


    domenica 8 maggio 2016 15:14