Excelファイルからサブストリングに文字列を破壊してロードするにはどうすればよいですか?
質問
私は実際にTalendの仕事に取り組んでいます。 ExcelファイルからOracle 11gデータベースにロードする必要があります。
Talend内でExcelエントリファイルのフィールドを破壊し、壊れた文字列をデータベースにロードする方法を理解できません。
たとえば、私はこのようなフィールドを持っています:
toto:12;tata:1;titi:15
そして、例えばグレードなど、テーブルにロードする必要があります。
| name | grade |
|------|-------|
| toto |12 |
| titi |15 |
| tata |1 |
|--------------|
前もって感謝します
解決
Talendの仕事では、使用できます tFileInputExcel
Excelファイルを読むには、そして tNormalize
「;」のセパレーターで特別な列を個々の行に分割する。その後、使用してください tExtractDelimitedFields
":"のセパレーターを使用して、正規化された列をに分割します name
と grade
列。次に、aを使用できます tOracleOutput
結果をデータベースに書き込むコンポーネント。
このソリューションは、ALEXRが示唆するJavaスニペットよりも冗長ですが、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など)を使用してください。
所属していません StackOverflow