Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Manipulations on the huge text file
Message
De
28/04/2000 16:48:36
Oleg Khvalin
The Sutherland Group Ltd
Rochester, New York, États-Unis
 
 
À
28/04/2000 16:43:55
Oleg Khvalin
The Sutherland Group Ltd
Rochester, New York, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00364631
Message ID:
00364683
Vues:
24
>>Hi everyone,
>>
>>I have a huge text file (~100 000 records with ~50-60 fields), Tab delimited. I need to remove all double quotations from this file.
>>
>>This is the algorithm, we used. It doesn't work on big files - we have an error: "String is too big to fit".
>>
>>What else could you suggest besides low-level functions?
>>
>>
>>lntxtfiles=adir(laTxtFiles, lcPattern) && Retrieve list of text files
>>
>>*--------------------------------------------------------------------------
>>* -- loop through the array and perform string transformations in each text file
>>*--------------------------------------------------------------------------
>>create cursor lcTempCursor ;
>>                (WorkField M)
>>append blank
>>
>>for i=1 to lnTxtFiles
>>    lcFileName=lcPath+laTxtFiles[i,1]
>>    lcSendFileName = lcPath+ojc.CurState+'\'+left(laTxtFiles[i,1],4)+'.txt'
>>    if file(lcSendFileName)
>>        erase (lcSendFileName)
>>    endif
>>        append memo WorkField from (lcFileName) overwrite
>>     if !empty(alltrim(WorkField))
>>          replace WorkField with strtran(WorkField,'"','')
>>          copy memo WorkField to (lcSendFileName)
>>     endif
>>next
>
>Nadya,
>for large files I'd use FOPEN - FGETS - FPUTS
>something like this:
>inFile= FOPEN(lcFileName)
>outFile=FCREATE(lcSendFileName)
>DO WHILE FEOF(inFile)
> lcBuffer=FGETS(inFile,1000)
> lcBuffer= strtran (lcBuffer,'"','')
> =FPUTS(outFile,lcBuffer)
>ENDDO
>close all
>
>HTH
>Oleg

PS buffer size should be > than record size
Oleg
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform