otrdiena, 2010. gada 14. septembris

No CSV uz SQL INSERT

Kā iegūt no CSV SQL INSERT.


Piemērā csv datnes saturs ir šāda formā.
#R1K1#;#R1K2#;#R1K3#
#R2K1#;#R2K2#;#R2K3#
#R3K1#;#R3K2#;#R3K3#

Atveram csv datni ar notepad++ (var izmantot citu teksta redaktoru, kas atbalsta regulārās izteiksmes).
Nospiežam Search -> Replace

Atzīmējam Regular expression

Izmainam rindas sākumu:
Find what: ^[#]
Replace with: insert into tabula1 values ('
Nospiežam Replace All


Izmainam rindas beigas:
Find what: [#]$
Replace with: ');
Nospiežam Replace All

Izmainam atdalītāju starp kolonām:
Regular expression nomaina uz Normal
Find what: #;#
Replace with: ','
Nospiežam Replace All

Rezultāts:
insert into tabula1 values ('R1K1','R1K2','R1K3');
insert into tabula1 values ('R2K1','R2K2','R2K3');
insert into tabula1 values ('R3K1','R3K2','R3K3');


Ja gribam, piemēram, pirmajai un trešajai kolonai noņemt vienpēdas, tad to arī var izdarīt ar regulārajām izteiksmēm.
Find what: values \('([A-Za-z0-9]*)','([A-Za-z0-9]*)','([A-Za-z0-9]*)'
Replace with: values (\1,'\2',\3
Nospiežam Replace All

Pirmās iekavas atbilst \1, otrās \2 utt.

Rezultāts:
insert into tabula1 values (R1K1,'R1K2',R1K3);
insert into tabula1 values (R2K1,'R2K2',R2K3);
insert into tabula1 values (R3K1,'R3K2',R3K3);


Nav komentāru:

Komentāra publicēšana