Как разорвать строку из файла Excel в подстроки и загрузить ее?
Вопрос
Я на самом деле работаю над работой 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 и т. Д.).