Как разорвать строку из файла Excel в подстроки и загрузить ее?

StackOverflow https://stackoverflow.com/questions/9315093

Вопрос

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

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

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

toto:12;tata:1;titi:15

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

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

Заранее спасибо

Это было полезно?

Решение

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

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

Другие советы

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 и т. Д.).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top