+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 10 su 10

gestire import di dati

  1. #1
    Sn0rky non è in linea Scolaretto
    Post
    369
    Like Inviati  
    1
    Like Ricevuti  
    0
    salve a tutti!
    ho questo tipo di dati:

    dato1    dato2  dato3    dato4  dato5
    xdato1  xdato2           xdato4 xdato5
    ...
    ndato1  ndato2 ndato3    ndato4 ndato5
    
    tenendo a mente la disposizione dei dati, ossia che non tutti i dati sono presenti in ogni riga e che alcuni sono "incasellati" allineati a sinistra ed alcuni a destra....
    se dovessi portarli su excel userei la "larghezza fissa" e nessun altro delimitatore
    poi da lì farei tutte le ricerche del caso

    ora, come fare la stessa cosa su vbnet? è l'ora di iniziare a studiarsi i db?
    considerate questo... il file origine è differente per ogni utente e variabile (viene reso disponibile una volta al mese e ce n'è uno per ogni provincia italiana) quindi lo faccio scaricare dall'utente e poi sarà il programma a fare tutto il resto! (importazione, gestione e visualizzazione)
    intanto scrivo qui una caratteristica di questi dati, poi magari la ripeterò più avanti per meglio indirizzare la discussione:
    i valori dato1 e dato4 sono sempre presenti e sono "nomi" formati da una stringa alfanumerica, dato 1 è presente n volte e associato a diversi dato4

    aaaa1 zxc45
    aaaa1 zxc45
    aaaa1 zxc45
    aaaa1 zxc66
    aaaa1 zxc66
    aaaa1 zxc69
    zxc45 bz123
    zxc45 bz199
    ....

    in questo esempio potete vedere come appaiono i dati, aaa1 è accoppiato a zxc45 in diverse righe, quando zxc45 appare come "dato1" non presenta aaaa1 come dato4 perché la coppia è già presente


    mi potreste indirizzare?
    Grazie!

  2. #2
    Sgrubak ora è in linea Scribacchino
    Post
    598
    Like Inviati  
    11
    Like Ricevuti  
    12
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    ora, come fare la stessa cosa su vbnet?
    Puoi, una volta salvata la singola riga in una variabile String, o splittare la riga ad ogni spazio, o prendere la sottostringa che t'interessa.

  3. #3
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    ho questo tipo di dati:

    dato1    dato2  dato3    dato4  dato5
    xdato1  xdato2           xdato4 xdato5
    ...
    ndato1  ndato2 ndato3    ndato4 ndato5
    
    tenendo a mente la disposizione dei dati, ossia che non tutti i dati sono presenti in ogni riga e che alcuni sono "incasellati" allineati a sinistra ed alcuni a destra....
    Ma in che tipo di file sono questi "dati"? Un file di testo? csv? Dirlo non farebbe male.
    è l'ora di iniziare a studiarsi i db?
    E' sempre l'ora.
    ℹ️ Leggi di più su Brontolo ...

  4. #4
    Sn0rky non è in linea Scolaretto
    Post
    369
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Ma in che tipo di file sono questi "dati"? Un file di testo? csv? Dirlo non farebbe male.
    mannaggia! mi dimentico sempre qualcosa! è un file di testo scaricato dall'utente al bisogno...

    ecco come appare:

    M411B   25      2 M411B   22      2 2012205283        1235.638        0.004
    M411B   25      2 M411B   23      2 2012205283         414.672        0.002
    M411B   25      2 M411B   23      3 202042652          683.757        0.058
    M411B   27      1 M411B   19 B   10 2011122130         121.569        0.056
    M411B   27      1 M411B   19 B   10 2004113339         121.604        0.013
    M411B   27      1 M411B   27      2 2004113339         313.917        0.015
    M411B   27      1 M411B   27      2 19905643           314.178        0.138
    
    ricordavo una disposizione differente! cmq... M.... è il primo dato, la seconda M... è l'altro
    M411B 27 1
    M411B 19 B 10

    poi ci sono 3 informazioni che "specificano" questa coppia
    2011122130 121.569 0.056
    2004113339 121.604 0.013
    fanno capo alla stessa coppia

    E' sempre l'ora.


    per Sgrubak in effetti è quello che avrei fatto fino a ieri... ma vorrei evolvermi :P

  5. #5
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    ecco come appare:
    Come appare o come è ?
    Con cosa lo stai visualizzando?
    In altre parole, quegli spazi sono veramente spazi o c'è qualche separatore/delimitatore tra un gruppo di caratteri e un altro?
    ℹ️ Leggi di più su Brontolo ...

  6. #6
    Sn0rky non è in linea Scolaretto
    Post
    369
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Come appare o come è ?
    Con cosa lo stai visualizzando?
    In altre parole, quegli spazi sono veramente spazi o c'è qualche separatore/delimitatore tra un gruppo di caratteri e un altro?
    spazi.... come ho scritto nel primo post, su excel userei "larghezza fissa" perché risultano tutti incolonnati

  7. #7
    Sgrubak ora è in linea Scribacchino
    Post
    598
    Like Inviati  
    11
    Like Ricevuti  
    12
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    considerate questo... il file origine è differente per ogni utente e variabile
    Intendi che la "larghezza fissa" varia da file a file? Da utente ad utente? Entrambe le casistiche?
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    ma vorrei evolvermi
    A gestire file di testo, temo ci sia solo da reinventare la ruota... Googlando ho scoperto l'esistenza dell'oggetto TextFieldParser. Ma credo non sia un "originale" .NET, piuttosto un adeguamento del vecchio VB (vedasi il namespace di appartenenza "Microsoft.VisualBasic.FileIO"). Pertanto, sull'onda di migliaia di post precedenti di gente più esperta di me, gli farei fare la fine delle funzioni Len, Mid e compagnia bella. Un bel ciaone... Sicuramente è preferibile usare metodi più aggiornati, altrimenti che li aggiornerebbero a fare?

  8. #8
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    spazi.... come ho scritto nel primo post, su excel userei "larghezza fissa" perché risultano tutti incolonnati
    Quindi puoi suddividere nelle varie parti ciascuna riga letta con il metodo Substring.
    ℹ️ Leggi di più su Brontolo ...

  9. #9
    Sn0rky non è in linea Scolaretto
    Post
    369
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Quindi puoi suddividere nelle varie parti ciascuna riga letta con il metodo Substring.
    "quasi"

    nel senso che a volte è presente una lettera "A" "B" ecc. a destra di un numero e quella fa parte del "nome"
    quindi ricapitolando... mi conviene comunque "fare un giro" riga per riga, tagliare le substring per un numero fisso di caratteri, poi modificare le substring al bisogno e salvarle....
    in una classe?

    ecco arrivati a questo punto devo capire quale è il modo migliore per procedere... nel senso che quando l'utente cercherà un dato non lo cercherà solo sulla prima "colonna" ma anche sulla seconda quindi vorrei iniziare fin da subito a salvare i dati in modo che siano poi "semplici" da gestire (non so se mi sono spiegato... immagino di no )

  10. #10
    Sgrubak ora è in linea Scribacchino
    Post
    598
    Like Inviati  
    11
    Like Ricevuti  
    12
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    tagliare le substring per un numero fisso di caratteri, poi modificare le substring al bisogno e salvarle....
    in una classe?
    Una classe fa al caso tuo. Personalmente penserei ad un costruttore dedicato che accetti come parametro la stringa di partenza del file.


    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    quando l'utente cercherà un dato non lo cercherà solo sulla prima "colonna" ma anche sulla seconda
    Raccogli tutti gli oggetti in una List(of TuoOggetto). Dato che le List implementano l'interfaccia IEnumerable, puoi sfruttare il metodo Enumerable.Where per ottenere una lista filtrata con poche righe di codice.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Import dati esterni
    Da DoMike nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 15-11-2012, 12:40
  2. Import dati da Excel a Word
    Da phenix nel forum Microsoft Excel
    Risposte: 19
    Ultimo Post: 14-07-2010, 18:09
  3. Import Export Dati con file Xml
    Da Fabio85 nel forum C#
    Risposte: 1
    Ultimo Post: 22-02-2009, 00:15
  4. Oggetto Excel X Import Dati
    Da igiolo nel forum Microsoft Excel
    Risposte: 20
    Ultimo Post: 18-01-2006, 21:47
  5. Problemi Import dati
    Da Kovacevic83 nel forum Microsoft Word
    Risposte: 15
    Ultimo Post: 02-12-2004, 17:05