Как разбить строку из файла Excel на подстроки и загрузить ее? - PullRequest
1 голос
/ 16 февраля 2012

Я на самом деле работаю над работой в календаре. Мне нужно загрузить файл Excel в базу данных Oracle 11g.

Я не могу понять, как разбить поле моего файла записей Excel в talend и загрузить поврежденную строку в базу данных.

Например, у меня есть такое поле:

toto:12;tata:1;titi:15

А мне нужно загрузить в таблицу, например, оценку:

| name | grade |
|------|-------|
| toto |12     |
| titi |15     |
| tata |1      |
|--------------|

Спасибо заранее

Ответы [ 2 ]

3 голосов
/ 20 февраля 2012

В задании Talend вы можете использовать tFileInputExcel для чтения файла Excel, а затем tNormalize, чтобы разбить ваш специальный столбец на отдельные строки с разделителем «;».После этого используйте tExtractDelimitedFields с разделителем «:», чтобы разбить нормализованный столбец на столбцы name и grade.Затем вы можете использовать компонент tOracleOutput для записи результата в базу данных.

Хотя это решение более многословно, чем фрагмент кода Java, предложенный AlexR, оно имеет то преимущество, что оно остается в рамках модели графического программирования Talend.

2 голосов
/ 16 февраля 2012
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);
}

Теперь вам нужно реализовать dbInsert(). Сделайте это либо с помощью JDBC, либо с помощью инструментов более высокого уровня (например, Hivernate, iBatis, JDO, JPA и т. Д.).

...