Skip to header Skip to main navigation Salta al contenuto principale Skip to footer

Menu profilo utente

  • Accedi
Home
Informatica Consapevole ed Ecosostenibile. Perchè l'informazione sia un bene per l'umanità.

Navigazione principale

  • Home
  • I nostri corsi
  • Drupal
    • Cos'e' Drupal
    • Documentazione
    • Moduli utili per Drupal
  • Ubuntu
    • Che cos'e' Ubuntu
    • Come fare
    • Link utili su Linux e Ubuntu
  • Come Fare
    • Apache
    • Audio
    • CSS - Fogli di Stile
    • Gimp
    • Libre Office
    • Mozilla Thunderbird
    • MySQL MariaDB
    • Tutorial Microsoft
    • Video
    • WEB, Internet
  • Chi sono

Microsoft Excel - Power Query - Importare lista di URL

Briciole di pane

  • Home
  • Tutorial Microsoft
  • Microsoft Excel - Power Query - Importare lista di URL

In questo tutorial vogliamo importare i dati da una lista di URL contenuti in un file 

Come esempio utilizzeremo il sito https://www.ilmeteo.it/ che mette a disposizione l'archivio dei dati atmosferici divisi per

  • città
  • anno
  • mese
Sito meteo.it

Il sito mette anche a disposizione i dati in formato CSV

Nell'immagine abbiamo di dati del comune di Andrano Dicembre 2024

L'indirizzo URL della pagina è 

https://www.ilmeteo.it/portale/archivio-meteo/andrano/2024/Dicembre

Mentre quello dei dati in forma CSV è

https://www.ilmeteo.it/portale/archivio-meteo/andrano/2024/Dicembre?format=csv

Creazione del progetto Excel

Andiamo su Dati > Recupera dati > Da altre origini > Da Web

Recupera dati da URL

Inseriamo il link e appare la schermata.

Recupera dati da URL

Siccome non abbiamo bisogno di inserire informazioni di autenticazione, proseguiamo con Connetti

Recupera dati da URL

Il file CSV viene recuperato da WEB.

Facciamo click su Trasforma Dati

Trasforma  dati

Otteniamo la tabella

Tabella dati

In alcune località la alcuni dati vengono registrati con i decimali.

Esempio 

https://www.ilmeteo.it/portale/archivio-meteo/Pachino/2024/Gennaio

Dati a Pachino Gennaio 2024

Conviene quindi eliminare il passaggio Modificato tipo e tipizzare a mano le colonne:

  • LOCALITA, FENOMENI - Testo
  • DATA - Data
  • TMEDIA °C, TMIN °C, TMAX °C, PUNTORUGIADA °C, PIOGGIA mm - Decimale
  • VISIBILITA km, VENTOMEDIA km/h, VENTOMAX km/h, RAFFICA km/h, PRESSIONESLM mb, PRESSIONEMEDIA mb - numero Intero
  • UMIDITA % - percentuale

 

Tipo numero intero

La colonna UMIDITA % non visualizza i valori correttamente:

Colonna %

Dobbiamo dividere il valore per 100. Andiamo nel menù Trasforma > Standard > Dividi

Divisione per 100

Inseriamo 100

Divisione per 100

Ora la colonna Umidità è corretta.

Colonna % umidità

Terminiamo questa parte dando il nome alla query archivio meteo. Salviamo con  Home > Chiudi e Carica.

Salvataggio query

Otteniamo la tabella Excel

Tabella Excel

Formattiamo le colonne

  • TMEDIA °C, TMIN °C, TMAX °C, PUNTORUGIADA °C, PIOGGIA mm - Decimale con una cifra
Formattazione decimale
  • UMIDITA % - percentuale senza decimali
Formato percentuale

Leggere gli indirizzi URL da una lista

Creiamo una tabella che contiene gli indirizzi URL relativi alle varie località che ci interessano. chiamiamo questa tabella url

Tabella url

Dal menù Dati > Da tabella / intervallo recuperiamo la lista

Recupero lista

 otteniamo la query:

Query url

Non ci interessa avere una tabella la salviamo semplicemente come connessione: Home > Chiudi e carica > chiudi e carica in

Chiudi e carica in

Crea solo connessione

Crea solo connessione

Leggere tutti i dati usando gli URL della lista

Copia del codice

Ritorniamo in Power Query facendo doppio click su archivio meteo.

Andiamo in Visualizza > Editor avanzato.

Editor Avanzato

Compiamo il codice in un blocco note. (CTRL + A, CTRL + C)

Copia testo

Questo ci permette di modificare il codice creando una funzione. Copiamo il codice: CTRL + A e CTRL + C

(url as text) =>
let
  Risultato = try 
      let
        Origine = Csv.Document(Web.Contents(url),[Delimiter=";", Columns=15, Encoding=65001, QuoteStyle=QuoteStyle.None]),
        #"Intestazioni alzate di livello" = Table.PromoteHeaders(Origine, [PromoteAllScalars=true]),
        #"Modificato tipo" = Table.TransformColumnTypes(#"Intestazioni alzate di livello",{{"DATA", type date}, {"TMEDIA °C", type number}, {"TMIN °C", type number}, {"TMAX °C", type number}, {"PUNTORUGIADA °C", type number}, {"PIOGGIA mm", type number}, {"PRESSIONEMEDIA mb", Int64.Type}, {"PRESSIONESLM mb", Int64.Type}, {"RAFFICA km/h", Int64.Type}, {"VENTOMAX km/h", Int64.Type}, {"VENTOMEDIA km/h", Int64.Type}, {"VISIBILITA km", Int64.Type}, {"UMIDITA %", Percentage.Type}}),
        #"Divisa colonna" = Table.TransformColumns(#"Modificato tipo", {{"UMIDITA %", each _ / 100, Percentage.Type}})
    in
        #"Divisa colonna"
   otherwise null
in
   Risultato

Salviamo il file in un blocco note con nome fnGetMeteo.txt (il file può essere scaricato da qui)

Usciamo dall'editor avanzato e torniamo in Excel

Creazione della funzione personalizzata

Creiamo una Query vuota: Dati > Recupera dati > Query vuota

Creazione di una Query vuota

Rinominiamo la query in fnGetMeteo e andiamo in Visualizza > Editor avanzato 

Creazione della funzione personalizzata

Incolliamo il codice e facciamo click su Fatto

Edito Avanzato

Otteniamo la funzione

Crea la funzione

Torniamo sulla query url e su Aggiungi colonna > Richiama funzione personalizzata

Aggiungi colonna > Richiama funzione personalizzata

Definiamo

  • Nome nuova colonna : fnGetMeteo
  • Query della funzione: fnGetMeteo
  • url: url
Creazione della nuova colonna

Diamo ok.

Espandiamo la nuova colonna creata lasciando tutti i valori ma spegnendo Usa il nome della colonna originale come prefisso

Creazione della nuova colonna

Ora abbiamo tutti i dati.

Dati completi

Eliminiamo la colonna url in quanto città e data sono presenti nelle altre colonne.

Colonna rimossa

 

Tipizziamo le colonne

  • LOCALITA, FENOMENI - Testo
  • DATA - Data
  • TMEDIA °C, TMIN °C, TMAX °C, PUNTORUGIADA °C, PIOGGIA mm - Decimale
  • VISIBILITA km, VENTOMEDIA km/h, VENTOMAX km/h, RAFFICA km/h, PRESSIONESLM mb, PRESSIONEMEDIA mb - numero Intero
  • UMIDITA % - percentuale
Tipizzazione colonne

Ordiniamo le colonne LOCALITA e DATA con ordinamento crescente

Ordinamento colonne

Terminiamo con Home > Chiudi e Carica

Per visualizzare i dati andiamo sulla Query url con il tasto destro e scegliamo Carica in

Carica i dati in

Scegliamo in una tabella > in un nuovo foglio di lavoro

Importa i dati in una tabella

Otteniamo la nuova tabella che possiamo formattare

Nuova tabella

Migliorie

Possiamo 

  • eliminare la pagina archivio meteo
  • eliminare la query archivio meteo
  • Rinominare la pagina url in dati meteo

Lavorare su più città mesi anni

Invece di scrivere a mano gli indirizzi url possiamo creare tre tabelle:

  • Località
  • Mesi
  • Anni

In un nuovo foglio

Tabelle Località Anni Mesi

Vogliamo creare un sistema per generare in automatico gli indirizzi url con la sintassi

https://www.ilmeteo.it/portale/archivio-meteo/[Località]/[anno]/[Mese]?format=csv

Partiamo  dalla tabella Località con Dati > Da tabella/intervallo. otteniamo la query

Query località

Ordiniamo la colonna Località con Ordinamento crescente.

Ordinamento Crescente

Terminiamo con Chiudi e Carica > Chiudi e carica in > Crea solo connessione.

Lo stesso lo facciamo per gli Anni

Tabella Anni

Infine per la tabella mesi.

Ora abbiamo le seguenti query

Situazione Query

Creazione della nuova tabella dati meteo

Modifichiamo la query Località con doppio click.

Inseriamo una colonna personalizza ID Aggiungi colonna > Colonna personalizzata.

Colonna personalizzata

La formula è =1

Colonna personalizzata

La colonna è di tipo numero intero.

Colonna personalizzata

Facciamo la stessa cosa per la query Anni

Query Anni

Infine la per la query Mesi

Query Mesi

Ora con questa colonna indice possiamo collegare le tre tabelle. Tornando sulla query Località andiamo in Home > Merge di query.

Merge di Query

Selezioniamo in entrambe le tabelle la colonna ID

Merge di colonne

Otteniamo la nuova colonna Anni

Colonna anni

Che possiamo espandere tenendo solo il campo Anni

Espandere la colonna

Ripetiamo il merge con la tabella Mesi

Merge di Query

Ed espandiamo la colonna Mesi

Espandere la colonna

Rimuoviamo la colonna ID che ci è servita per fare la join con tutte le combinazioni di Località, Anni, Mesi

Merge di Query completata

Ritorniamo alla sintassi

https://www.ilmeteo.it/portale/archivio-meteo/[Località]/[anno]/[Mese]?format=csv

Creiamo una colonna personalizzata con la prima parte dell'URL. Il nome è url e la formula è

=https://www.ilmeteo.it/portale/archivio-meteo
Creazione della colonna url

Trasciniamo la nuova url colonna a sinistra e la rendiamo di tipo testo.

Trascinare la colonna url

Cominciamo unire tutte le colonne. Le selezioniamo tutte le colonne e andiamo in Trasforma > Merge di colonne.

Merge di colonne

Scegliamo

  • Separatore : --Personalizzato--
  • "/"
  • Nuovo nome : url
Merge di colonne

Otteniamo

Merge di colonne

Manca ora la coda dell'indirizzo URL. Creiamo una nuova colonna personalizzata. la formula è

= "?format=csv"
Merge di colonne

otteniamo la colonna coda che rendiamo di tipo testo

Merge di colonne

Selezioniamo queste due colonne e le uniamo senza separatore in Trasforma > Merge di colonne.

Merge di colonne

Non ci rimane che aggiungere la nuova colonna tramite 

Creazione delle colonne dati

Espandiamo la nuova colonna fnGetMeteo

Espandiamo la colonna

Eliminiamo la colonna url e tipizzamo le colonne:

  • LOCALITA, FENOMENI - Testo
  • DATA - Data
  • TMEDIA °C, TMIN °C, TMAX °C, PUNTORUGIADA °C, PIOGGIA mm - Decimale
  • VISIBILITA km, VENTOMEDIA km/h, VENTOMAX km/h, RAFFICA km/h, PRESSIONESLM mb, PRESSIONEMEDIA mb - numero Intero
  • UMIDITA % - percentuale

Gestire gli errori 

Nella funzione fnGetMeteo se l'URL è errato vengono create delle righe "null".

Questo si crea da 

  • Nomi di città errati
  • mesi, anni in cui non ci sono dati
Righe vuote

Possiamo rimuovere le righe errate andando sil pulsante filtro della colonna LOCALITA > Rimuovi vuoti.

Rimuovere le righe vuote

Non rimane che ordinare per LOCALITA e DATA. Terminiamo con Chiudi e carica.

Per vedere il risultato creiamo una tabella facendo click con il tasto destro sula query Località

Crea la nuova tabella

Finalmente abbiamo

Risultato finale

Possiamo eliminare quello che non serve più e mantenere solo le query

Query rimanenti

E le pagine

  • Località
  • LocalitàMesiAnni

In allegato due file

  • recupera-dati-da-url-parziale.xlsx  - prima di rimuovere query e fogli
  • recupera-dati-da-url-meteo.xlsx - soluzione finale

 

fnGetMeteo.txt (930 byte)
recupera-dati-da-url-meteo.xlsx (607.74 KB)
recupera-dati-da-url-parziale.xlsx (29.26 KB)

Costellazioni Familiari Animiche e Reiki con Janhu

Costellazioni Familiari Animiche e Reiki con Janhu

www.janhu.it

Tutorial Microsoft

I Nostri Tutorial Esercizi

Tutorial, Esercizi, e molto altro

Noi è io sono la nazione

Noi è io sono la nazione

The One People’s Public Trust

Serverplan

Contatti

email ecommunicationinfo@ecommunication.it
 
contattacicellulare +39 393 9374116
 
TelegramTelegram
 
insegnante - docenteChi Sono

Youtube

visita il canale

L'importanza della formazione aziendale

 

Disclaimer & Avvertenze

  • Contattaci
  • Cookies
  • Informativa Cookies - Cookie Policy

Copyright © 2026 ECOmmunication - All rights reserved

Creato e mantenuto da Dott. Silvio Crispiatico