Come rompere stringa da un file Excel in sottostringhe e caricarlo?
Domanda
In realtà sto lavorando su un lavoro di Talend. Ho bisogno di caricare da un file Excel a un database Oracle 11g.
Non riesco a capire come rompere un campo di mio file excel ingresso all'interno di Talend e caricare la stringa rotto nel database.
Per esempio ho un campo come questo:
toto:12;tata:1;titi:15
E ho bisogno di caricare in una tabella, ad esempio grado:
| name | grade |
|------|-------|
| toto |12 |
| titi |15 |
| tata |1 |
|--------------|
Grazie in anticipo di
Soluzione
In un lavoro Talend, è possibile utilizzare tFileInputExcel
per leggere il file di Excel, e quindi tNormalize
di dividere la vostra colonna speciale in singole righe con un separatore di ";". Dopo di che, l'uso tExtractDelimitedFields
con un separatore di ":" per dividere la colonna normalizzati in name
e grade
colonne. Quindi è possibile utilizzare un componente tOracleOutput
di scrivere il risultato nel database.
Anche se questa soluzione è più dettagliato rispetto al frammenti Java suggerita da AlexR, ha il vantaggio che rimanga all'interno del modello di programmazione grafica di Talend.
Altri suggerimenti
for(String pair : str.split(";")) {
String[] kv = pair.split(":");
// at this point you have separated values
String name = kv[0];
String grade = kv[1];
dbInsert(name, grade);
}
Ora è necessario implementare dbInsert()
. Farlo sia tramite JDBC o dell'utilizzo di strumenti di livello superiore (ad esempio Hivernate, iBATIS, JDO, JPA, ecc).