Question : Devoir optimiser la routine de nettoyage de données dans VB

Bonjour, le

I ont un dossier 20MB délimité par pipe qui a été exporté du progrès 9.1e.  Il contient « comme qualificateurs des textes.  Mon problème est que quelques gisements des textes contiennent la ligne les coupures (CRLF), qui est également l'extrémité du disque marker.

I a écrit le code joint pour dépouiller dehors les guillemets et pour enlever alors le CRLFs qui sont inclus dans les domaines des textes.  Je suis heureux de dire le code works.

HOWEVER, il s'avère que cela prendra environ 10 heures pour lire le dossier dedans, un certain temps d'unkown pour traiter et alors encore 10 heures pour écrire probablement le dossier mis à jour soutiennent.  le

So que je regarde pour optimiser le processus par oh indiquent un jour ou deux.  J'avais recherché de meilleures méthodes pour que la façon lise et écrit mais ne pourrais pas figurer ce dossier d'out.

The deuxième est un segment 20KB des données montrant que la fausse aide de CRLFs.

Any serait considérablement appréciée.  Je ne suis pas fier au sujet de ce qu'est la solution, je peux jeter le code.  S'il y a manière d'exporter du progrès sans CRLFs additionnel ou une meilleure langue (bien que VB est la seule chose que nous avons installée) ou un meilleur algorithme plutôt qu'using une rangée, je suis open.

Thank vous à l'avance pour votre aide. class= " lineNumbers " >
1 de >


Sub " de
 puis Skip1 GoTo strPattern
      strCharacters (I + 1) = Chr$ (0)
      strCharacters (I + 2) = Chr$ (0)

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

Boucle



'Enlever CR/LF entre les citations
i = 0
j = 0


Font jusqu'à I = intCharcount - 1

   Si strCharacters (i) = Chr$ (34) puis
    booIsQuote = pas booIsQuote
    Saut GoTo
    Finir si
   Si (strCharacters (i) = Chr$(10) ou strCharacters (i) = Chr$ (13)) Et booIsQuote alors
    strCharacters (i) = « « 
    Finir si
    
saut :
   i = I + 1
   
Boucle


'Écrire la rangée au dossier

Placer l'outfso = le CreateObject (« Scripting.FileSystemObject »)
Placer outfile = outfso.createtextfile (« x:\TCB\Purchasing\08 - 09 \ ERP \ conversion de données \ o_bp-inspect1.txt », vraie)

i = 0
Font jusqu'à I = intCharcount - 1

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

Boucle


outfile. Fin

Sous-marin d'extrémité
class= > " clair " de 
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 " de l'id= " codeSnippet766113 " de
class= de

Réponse : Devoir optimiser la routine de nettoyage de données dans VB

Je ne me suis pas jugé mais le google a été soulevé avec l'abondance des options.

Dessus de la liste : http://www.soft32.com/download_194850.html

Le Freeware- semble simple et efficace.

L
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us