Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    3

    update file csv con script vb

    Buongiorno a tutti, ho un quesito da porre alla vostra cortese attenzione:
    ho un file csv delimitato da "|" , e dovrei aggiungere dopo l'ultimo record, due record fissi.
    Nella fattispecie, il file è costruito in questo modo:

    colonna1|colonna2|colonna3|colonnaX

    l'obbiettivo è quello di aggiungere, dopo colonnaX, altre due colonne riempite con valori costanti, ad esempio |pippo|pluto|

    le colonne non hanno nome, non sono intestate.
    ora, io da buon profano, ho provato ad utilizzare il codice che ho trovato, e in parte la cosa funziona
    il codice è il seguente:
    codice:
       
     Dim sFile
        sFile = "d:\output\prova.csv"
         
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set oStream = fso.OpenTextFile(sFile, 1) '1=Open for reading
        sLine = oStream.ReadLine
        oStream.close
         
        dim aLine
        aLine = split(sLine, "|")
        aLine(14) = "|PIPPO|PLUTO|" 
        
        sLine = ""
         
        for i=lbound(aLine) to ubound(aLine)
            sLine = sLine + aLine(i) + "|"
        next
         
        set oStream = fso.OpenTextFile(sFile, 2) '2=Open for writing
        oStream.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop
        oStream.Close
        
        
             
        set oStream=nothing
        set fso = nothing
    ebbene, il codice funziona in parte, cioè funziona solo se dopo ColonnaX ci metto il pipe |, altrimenti non funziona.
    il problema è che l'ultimo pipe non c'è nel file che devo gestire.
    L'altro problema è che se il file contiene una sola riga funziona come vi ho già spiegato, ma se ho più righe, me le cancella tutte meno che la prima.
    Come posso fare per risolvere questi due problemi?
    VI ringrazio sin da ora e scusate la mia ignoranza.

  2. #2

    Moderazione

    Benvenuto sul forum! Ti ricordo che:
    • le discussioni relative a VBScript non sono trattate qui, ma nella sezione Visual Basic e .Net Framework;
    • il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.


    Ora correggo io e provvedo a spostare il thread, in futuro imposta correttamente la discussione fin da subito; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    3

    grazie

    Grazie mille, mi scuso, è il primo messaggio che posto, l'ho fatto con un pò di leggerezza.

  4. #4
    devi aggiungere dati in fondo al file o in fondo a ogni riga?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    3
    In fondo ad ogni riga

  6. #6
    questa la teoria

    1. apro il file A in lettura
    2. apro il file B in scrittura
    3. leggo una riga da A
    4. aggiungo in fondo i miei dati
    5. scrivo la riga in B
    6. ripeto 3, 4, 5 fino a che non finisce il file A
    7. chiudo A
    8. chiudo B
    9. cancello A
    10. rinomino B come A

    that's all, folks!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.