• User

    [ASP] Ordinamento di un file CSV

    Ciao a tutti, spero possiate aiutarmi.

    Avrei necessità tramite ASP di aprire, leggere, scorrere in tutte le sue righe un file CSV e di ordinarlo secondo un campo già presente all'interno di tutte le righe del file CSV stesso.

    Non ho idea come si fa.

    Aspetto suggerimenti, grazie.
    V.


  • User

    Allora con la ricerca su google ho capito che devo usare un record disconnesso.

    Questo è il mio codice ASP:

            
           set csvrecordset = Server.CreateObject("ADODB.Recordset")
            csvrecordset.CursorType = 3
            csvrecordset.Locktype = 3
            csvrecordset.CursorLocation = 3
     
            csvrecordset.Fields.append "ES", 200, 255
            csvrecordset.Fields.append "DATE", 200, 255
            csvrecordset.Fields.append "TIME", 200, 255
            csvrecordset.Fields.append "LINE", 200, 255
            csvrecordset.open()
     
            Do While Not objFile.AtEndOfStream
     
            csvrecordset.AddNew
            csvrecordset("ES") = arrText(0)
            csvrecordset("DATE") = arrText(1)
            csvrecordset("TIME") = arrText(2)
            csvrecordset("LINE") = arrText(3)  
            csvrecordset.Update 
            csvrecordset.Sort = "TIME, LINE ASC"
     
            Loop
    

    Se il file csv originale è ordinato con i campi TIME and LINE DESC:

    ES,"DATE","TIME","LINE"
    DM20,"31/10/08","21:03:28","DM2040457 "
    DM20,"31/10/08","21:28:32","DM2040457 "
    DM20,"31/10/08","21:38:32","DM2040457 "
    DM20,"31/10/08","22:28:41","DM2040457 "
    DM20,"31/10/08","22:40:44","DM2040457 "
    DM20,"31/10/08","21:07:18","DM2049303 "
    DM20,"31/10/08","21:22:56","DM2049303 "
    DM20,"31/10/08","21:38:40","DM2049303 "
    DM20,"31/10/08","07:45:00","DM2049411 "
    

    Lo script ASP funziona perchè importa nel db mysql i record del csv più vecchi, cioè questi:

    DM20,"31/10/08","21:03:28","DM2040457 "
    DM20,"31/10/08","21:07:18","DM2049303 "
    DM20,"31/10/08","07:45:00","DM2049411 "
    

    Mentre se il file csv è ordinato solo con il campo TIME ASC:

    ES,"DATE","TIME","LINE"
    DM20,"31/10/08","07:45:00","DM2049411 "
    DM20,"31/10/08","21:03:28","DM2040457 "
    DM20,"31/10/08","21:07:18","DM2049303 "
    DM20,"31/10/08","21:22:56","DM2049303 "
    DM20,"31/10/08","21:28:32","DM2040457 "
    DM20,"31/10/08","21:38:32","DM2040457 "
    DM20,"31/10/08","21:38:40","DM2049303 "
    DM20,"31/10/08","22:28:41","DM2040457 "
    DM20,"31/10/08","22:40:44","DM2040457 "
    

    Lo script ASP non funziona perchè importa tutte le righe nel db mysql... perchè ?

    Il metodo:

    
    csvrecordset.Sort = "TIME, LINE ASC"
    
    

    Non ordina il file csv ?