🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #1645

files csv

#1645
From: BillG.
Date: Sat, 13 Mar 2004 14:50
178 lines
4722 bytes
Un saluto a tutto il NG,

Ho un problema (da principiante),

ho 2 file .csv e devo fare in modo che quando i valori  dei codici utente
(CU e CU2)
corrispondono vengono scritti su un file di testo i dati corrispondenti.
mi soiego meglio
es.:


FILE1(CSV) : CU;NOME1;INDIRIZZO;CAP;DEST;PROV........ETC
            125;ROSSI PIERO;VIA DANTE 18;00100;ROMA;RM...........
            126;VERDI MARIO;VIA PUCCINI 4;20100;MILANO;MI...........

FILE2(CSV) : CU2;RIGA_X
             125;XXXXXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXXXXX
             125;XXXXXXXXXXXXXXXXXX

           126;YYYYYYYYYYYYYYYYYYYYYYY
           126;YYYYYYYYYYYYYYYYYYYYYYYY
           126;YYYYYYYYYYYYYYYYYYYYYYY
           126;YYYYYYYYYYYYYYYYYYYYYYYY
           126;YYYYYYYYYYYYYYYYYYYYYYY
           126;YYYYYYYYYYYYYYYYYYYYYYYY     ETC.

RISULTATO CHE VOGLIO OTTENERE:
FILE DI TESTO:

ROSSI PIERO
VIA DANTE 18
00100 ROMA RM
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX


(successivo)

VERDI MARIO
VIA PUCCINI 4
20100 MILANO MI
YYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYY

ETC.
===================
io ho fatto cos�:


 iCn = FreeFile
sFileCsv = "c:prova.csv"
Open sFileCsv For Input As iCn
  sStream = Input(LOF(iCn), iCn)
Close iCn
aRighe = Split(sStream, vbCrLf)
Kill sFileCsv
'========
'========

iCn2 = FreeFile
sFileCsv2 = "c:prova2.csv"
Open sFileCsv2 For Input As iCn2
  sStream2 = Input(LOF(iCn2), iCn2)
Close iCn2
aRighe2 = Split(sStream2, vbCrLf)
End If

Kill sFileCsv2
Kill sFileCsv3
'???????????????????




Open file1 For Append As nFile
For R = 1 To UBound(aRighe) - 1


  sDati = Split(aRighe(R), ";")

' vettorenomicampo
arNc = Array("CU", "NOME1", "INDIRIZZO", "CAP", "DEST", "PROV")

'Dim sDati As String
ReDim posizioni(UBound(arNc)) As Integer

'vettore nomicampoprimarigaExcel
arRNC = Split(aRighe(0), ";")

For i = 0 To UBound(arNc)
  For J = 0 To UBound(arNc) - 1
    If arNc(i) = arRNC(J) Then Exit For
  Next J
  posizioni(i) = J

   For J = 0 To 53
sDati(J) = Replace(sDati(J), """", "")
Next J


   If arNc(i) = "CU" Then
  CU = sDati(posizioni(i))
  End If
     If arNc(i) = "NOME1" Then
  NOME1 = sDati(posizioni(i))
  End If

If arNc(i) = "INDIRIZZO" Then
INDIRIZZO = sDati(posizioni(i))
End If
If arNc(i) = "CAP" Then
CAP = sDati(posizioni(i))
End If

If arNc(i) = "DEST" Then
DEST = sDati(posizioni(i))
End If

If arNc(i) = "PROV" Then
PROV = sDati(posizioni(i))
End If

 Print #nFile, NOME1
  Print #nFile, INDIRIZZO
   Print #nFile, CAP & DEST & PROV



For V = 1 To TZ2 - 1
sDati2 = Split(aRighe2(V), ";")


cu2 = sDati2(0)
RIGA_X = sDati2(1)

If CU2 = CU Then
Print #nFile, RIGA_X
End If
If cu2 > CU Then Exit For
Next V



NEXT

========
in questo modo funziona bene, ma quando i file ( specie il secondo) sono
molto grandi
il tutto rallenta parecchio.
mi aiutate ad ottimizzare la procedura.( sempre che la mia sia la soluzione
migliore).
chiedo scusa fin d'ora se non sono stato molto chiaro.

vi saluto cordialmente

Roberto.
Technical Details
Message-ID: <hdF4c.40476$z23.1817448@news3.tin.it>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-06!sn-xit-09!supernews.com!upp1.onvoy!onvoy.com!news-out.visi.com!petbe.visi.com!news.octanews.net!news.tele.dk!news.tele.dk!small.news.tele.dk!irazu.switch.ch!switch.ch!newsfeed.nextoneserver.com!news-out.tin.it!news-in.tin.it!news3.tin.it.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: f94ee,e61791c283d9d76d,start
X-Google-Attributes: gidf94ee,public
X-Google-ArrivalTime: 2004-03-13 06:52:13 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-06!sn-xit-09!supernews.com!upp1.onvoy!onvoy.com!news-out.visi.com!petbe.visi.com!news.octanews.net!news.tele.dk!news.tele.dk!small.news.tele.dk!irazu.switch.ch!switch.ch!newsfeed.nextoneserver.com!news-out.tin.it!news-in.tin.it!news3.tin.it.POSTED!not-for-mail
From: "BillG." <raban@virgilio.it>
Newsgroups: free.it.visual-basic
Subject: files csv
Lines: 182
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2720.3000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2727.1300
Message-ID: <hdF4c.40476$z23.1817448@news3.tin.it>
Date: Sat, 13 Mar 2004 14:50:53 GMT
NNTP-Posting-Host: 80.181.145.98
X-Complaints-To: newsmaster@tin.it
X-Trace: news3.tin.it 1079189453 80.181.145.98 (Sat, 13 Mar 2004 15:50:53 MET)
NNTP-Posting-Date: Sat, 13 Mar 2004 15:50:53 MET
Organization: TIN