Questione : Dovere ottimizzare la procedura di pulizia di dati in VB

Il buongiorno,

I ha una lima delimitata tubo 20MB che è stata esportata da progresso 9.1e.  Contiene “come qualificatori del testo.  Il mio problema è che alcuni giacimenti del testo contengono la linea le rotture (CRLF), che è inoltre l'estremità dell'annotazione marker.

I ha scritto il codice allegato per mettere a nudo fuori le doppie citazioni ed allora per rimuovere il CRLFs che sono incluse nei giacimenti del testo.  Sono felice di dire il codice works.

HOWEVER, sembra che richieda circa 10 ore per leggere la lima dentro, un certo tempo del unkown di procedare ed allora probabilmente altre 10 ore per scrivere la lima aggiornata si ritirano.  il

So che sto osservando per ottimizzare il processo da oh dice un giorno o due.  Sto cercando i migliori metodi affinchè come legga e scrivere ma non potrei calcolare lima di out.

The secondo è un segmento 20KB dei dati che mostrano che l'aiuto spurio di CRLFs.

Any notevolmente sarebbe apprezzato.  Non sono fiero circa che cosa la soluzione è, io posso gettare il codice fuori.  Se ci è senso esportare da progresso senza il CRLFs supplementare o una migliore lingua (anche se VB è l'unica cosa che abbiamo installato) o una migliore procedura piuttosto che using un allineamento, sono in anticipo open.

Thank voi per la vostra assistenza. class= " lineNumbers " >
1 del >


Sub codeBody ReadChars " del prettyprint " " del class= del id= " codeSnippet766107 del >
 allora Skip1 di avanzamento strPattern
      strCharacters (i + 1) = Chr$ (0)
      strCharacters (i + 2) = Chr$ (0)

      i = i + 2
Skip1:
    i = i + 1

Ciclo



'Rimuovere CR/LF fra le citazioni
i = 0
J = 0


Fanno fino a la i = il intCharcount - 1

   Se strCharacters (i) = Chr$ (34) allora
    booIsQuote = non booIsQuote
    Salto di avanzamento
    Concluder se
   Se (strCharacters (i) = Chr$ (10) o strCharacters (i) = Chr$ (13)) E booIsQuote allora
    strCharacters (i) = ““
    Concluder se
    
salto:
   i = i + 1
   
Ciclo


'Scrivere l'allineamento alla lima

Regolare il outfso = CreateObject (“Scripting.FileSystemObject„)
Regolar outfile = outfso.createtextfile (“x:\TCB\Purchasing\08 - 09 \ ERP \ conversione di dati \ o_bp-inspect1.txt„, allineare)

i = 0
Fanno fino a la i = il intCharcount - 1

	outfile.write (strCharacters (i))
	i = i + 1

Ciclo


outfile. Fine

Sommergibile dell'estremità
class= > " libero " di 
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
class= >0 " notpretty " del id= " codeSnippet766113 " del
class= del

Risposta : Dovere ottimizzare la procedura di pulizia di dati in VB

Non mi sono provato ma il google ha fornito abbondanza delle opzioni.

Parte superiore della lista: http://www.soft32.com/download_194850.html

Il freeware sembra semplice ed efficace.

L
Altre soluzioni  
 
programming4us programming4us