Importazione dati da sito web

di il
21 risposte

Importazione dati da sito web

Buongiorno,
ho un piccolo problema su importazione di dati da web ad Excel.
Ho creato un foglio Excel, importando le quotazioni azionarie dal sito borse.quifinanza.
I dati li importo da: nuova query -> da altre origini -> da web
Non faccio nessuna modifica e li importo come suggerito dal sistema.
importo tutte le colonne che son presenti sul sito, ovvero:
-nome
-ultimo
-variazione
-min
-max
- ora

Funziona tutto bene, premo il tasto "aggiorna dati" ed Excel scarica dal sito web i valori presenti in quel momento.
L'Unica anomalia ce l'ho sulla colonna "ora" (in pratica sul sito web è presente l'ora ma il sistema scarica la data), in quanto la maggior parte delle volte non scarica i valori.
Premetto che a me va benissimo che questo campo si popoli con la data e non con l'ora, solo che la maggior parte delle volte questo dato non viene scaricato.
A dire il vero, NON viene scaricato per circa il 90%, perché su alcune celle viene scaricata una data futura.
Il formato delle cella, che non ho cambiato durante l'importazione, è "data"-
Non mi spiego come mai, alcune volte il sistema scarica la data corretta e le altre volte invece lascia il capo in bianco-
Se eseguo un collegamento, su un altro foglio Excel, a queste celle, il sistema mi visualizza "00/01/1900"

Grazie per gli eventuali suggerimenti

21 Risposte

  • Re: Importazione dati da sito web

    Ciao,

    ma il campo che scarica e che tu hai chiamato “ora”, in relatà cosa contiene ? 

    Solo l'ora, oppure la data e l'ora, oppure solo la data ? 

  • Re: Importazione dati da sito web

    Ciao,

    in realtà contiene la data, infatti la cella è formattata come data.

    Solo che la maggior parte delle volte che scarico i dati, quel campo rimane bianco e solo raramente il campo si valorizza con la data.

    Ho inserio anche un collegamento al campo “blank” e ho scoperto che il sistema vede la data 00/01/1900

    esempi

    collegamenti

  • Re: Importazione dati da sito web

    Se serve posso mandare il file

  • Re: Importazione dati da sito web

    20/08/2023 - arietedimarzo ha scritto:


    Se serve posso mandare il file

    Anche, ma prima di tutto spiega bene come fai l'importazione: l'url preciso eccetera. Ho provato con https : // borse. quifinanza . it / borsa-italiana / azioni.html (ho tolto il link intenzionalmente) e alla voce ora mi è venuta la data, forse perché è domenica ed è tutto fermo al 18/08/2023

  • Re: Importazione dati da sito web

    Ciao, sono due giorni fortunati nell'aggiornamento dei dati, in quanto il giorno 17 e 18 agosto le date sono state riportate correttamente sul foglio excel.

    Ma se salvi il file e riprovi ad aggiornarlo nei giorni seguenti, vedrai che non scaricherà più la data.

    P.S. non riesco a caricare il file di excel

    Spiego come importo i dati.

    su Excel, in dati poi  nuova query, da altre origini, da web ed inserisco l'url: https:// borse.quifinanza.it/borsa-italiana/ azioni.html

    confermo, seleziono “table 0” 

    Poi “carica in” e inserisco la posizione dove scaricare i dati

    E carico sul foglio

    Tutto qui.

    Grazie

  • Re: Importazione dati da sito web

    20/08/2023 - arietedimarzo ha scritto:


    Ma se salvi il file e riprovi ad aggiornarlo nei giorni seguenti, vedrai che non scaricherà più la data.

    A domani quindi il tentativo “sul campo”. Credo che (ieri ed) oggi mostri la data “classica” perché le borse sono chiuse, quindi non ha bisogno di mostare l'ora a cui si riferisce.

    P.S. non riesco a caricare il file di excel

    Non puoi direttamente sul sito, puoi mettere solo il link da cui prelevarlo ma con le immagini che hai pubblicato non serve, si riesce a riprodurre tutto senza fatica.

  • Re: Importazione dati da sito web

    20/08/2023 - Philcattivocarattere ha scritto:


    20/08/2023 - arietedimarzo ha scritto:


    Ma se salvi il file e riprovi ad aggiornarlo nei giorni seguenti, vedrai che non scaricherà più la data.

    A domani quindi il tentativo “sul campo”. Credo che (ieri ed) oggi mostri la data “classica” perché le borse sono chiuse, quindi non ha bisogno di mostare l'ora a cui si riferisce.

    P.S. non riesco a caricare il file di excel

    Non puoi direttamente sul sito, puoi mettere solo il link da cui prelevarlo ma con le immagini che hai pubblicato non serve, si riesce a riprodurre tutto senza fatica.

    Ok, grazie

  • Re: Importazione dati da sito web

    Nel passaggio “modifica tipo”, o come si chiama mai, in cui ad ogni colonna viene assegnato un tipo di dato, cosa hai nella colonna “ORA”?

    = Table.TransformColumnTypes(Data0,{... {"MAX", type number}, {"ORA", type text}})

    Probabilmente Excel di suo cerca di individuare il tipo più adatto. Ieri con la presenza della sola data (18/08) era "type date", in questo momento quando sono ancora presenti date e già alcuni riferimenti orari, come si vede dal codice sopra è impostato a text, così prende pari pari come compare “18/08” e “9.25”

  • Re: Importazione dati da sito web

    Ciao, questo e quello che ho impostato:

    let
        Origine = Web.Page(Web.Contents("https://borse.quifinanza.it/borsa-italiana/azioni_A.html")),
        Data0 = Origine{0}[Data],
        #"Modificato tipo" = Table.TransformColumnTypes(Data0,{{"NOME", type text}, {"ULTIMO", type number}, {"VAR %", type text}, {"MIN", type number}, {"MAX", type number}, {"ORA", type date}})
    in
        #"Modificato tipo"
  • Re: Importazione dati da sito web

    M'ero già fatto una mezza idea almeno su una fase: il sistema non riesce ad ottenere un valore data valido per quello che nella pagina web è riportato solo con l'ora.

    Durante l'importazione, nel momento della “trasformazione” dei dati, il campo ORA riporta la dicitura Error in corrispondenza di tutto ciò che non è data completa o che secondo il ragionamento che spiego dopo, non può essere convertito in data. Facendo clic sul messaggio compare questa descrizione

    DataFormat.Error: Non è stato possibile analizzare l'input specificato come valore Date.

    ed è comprensibile. Da una cosa scritta come “17.45” il codice non riesce ad ottenere alcuna data valida. 

    In alcuni casi ci riesce perché l'ora è compatibile con il formato MM.GG, come “12.10” che riesce a trasformare in 10 dicembre e mancando la parte relativa all'anno supplisce con l'anno corrente. Il risultato è sbagliato, certo, ma è il massimo che può fare trovandosi 12.10 da trasformare in data. Mentre, come ho scritto prima, non può ricavare alcuna data (nemmeno sbagliando il ragionamento) da “17.45” perché non esiste giorno 45 del mese 17 (stesso discorso varrebbe per le 17.10, esiste il giorno 10 ma non il mese 17)

    Nel foglio che risulta da tutto questo le celle con errore sono vuote, le altre sono valorizzate con la data, anche se derivante da un ragionamento sbagliato, come la quotazione delle 12.10 che diventa 10 dicembre 2023.

    Ecco che il riferimento a quelle celle vuote, in un altro foglio, formattato come Data, dà una data impossibile: 00/01/1900. Sono una schiappa con Excel, nel senso che sarebbe interessante vedere cosa contengono davvero quelle celle, se sono vuote o nascondono un errore che non viene visualizzato.

    Questa è un'analisi di com'è la situazione. Se poi vuoi cercare di trovare una soluzione per avere qualcosa che ti soddisfa in tutte le righe, alla luce di questo forse lo sai fare meglio di me. Altrimenti esponi e vedo cosa riesco a combinare.

  • Re: Importazione dati da sito web

    Ok, mi è chiaro quanto hai scritto.

    Però, a questo punto, non riesco a capire come mai ogni tanto il sistema carica tutte le date correttamente.

    esempio di qualche giorno fa

  • Re: Importazione dati da sito web

    22/08/2023 - arietedimarzo ha scritto:


    esempio di qualche giorno fa

    La stessa situazione domenica, ovviamente con il 18/08: le borse sono chiuse, la quotazione non è riferita ad un orario specifico ma a quel giorno, tanto non cambia. Tutti i valori di quella colonna erano 17/08. Nella trasformazione in data la funzione capisce che non può trattarsi del mese 17 e del giorno 8 quindi inverte e riesce ad ottenere una data valida: giorno 17 mese 8 e completa con l'anno corrente, ecco da dove arriva il 17/08/2023

  • Re: Importazione dati da sito web

    Quindi, tutte le volte che la borsa è chiusa (sabato, domenica, ecc) lo scarico avviene con la data corretta, mentre le altre volte no.

    Siccome non sono molto ferrato in materia, ti chiedevo:

    non esiste un qualcosa, per esempio una riga di codice, dove si dice al sistema di inserire la data del giorno in cui si fa lo scarico dei dati? 

    Grazie ancora per le risposte.

  • Re: Importazione dati da sito web

    22/08/2023 - arietedimarzo ha scritto:


    per esempio una riga di codice, dove si dice al sistema di inserire la data del giorno in cui si fa lo scarico dei dati? 

    = Table.AddColumn(#"Modificato tipo", "NomeDaDareAllaColonna", each DateTime.Date(DateTime.LocalNow()), type date)

    (grandissimo alleato Google, ben prima di ChatGPT, perché comunque ti fa pensare)

Devi accedere o registrarti per scrivere nel forum
21 risposte