我实际上是在做一个talend工作。我需要从excel文件加载到oracle 11g数据库。
我无法弄清楚如何在talend中打破我的excel条目文件的字段并将损坏的字符串加载到数据库中。
例如,我有一个这样的字段:
toto:12;tata:1;titi:15
我需要加载到表格中,例如成绩:
| name | grade |
|------|-------|
| toto |12 |
| titi |15 |
| tata |1 |
|--------------|
提前感谢
答案 0 :(得分:3)
在Talend作业中,您可以使用tFileInputExcel
来读取Excel文件,然后使用tNormalize
将特殊列拆分为具有“;”分隔符的各行。之后,使用带有“:”分隔符的tExtractDelimitedFields
将规范化列拆分为name
和grade
列。然后,您可以使用tOracleOutput
组件将结果写入数据库。
虽然这个解决方案比AlexR建议的Java代码段更详细,但它的优势在于它保留在Talend的图形编程模型中。
答案 1 :(得分:2)
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等)来做它。