Excelファイルからサブストリングに文字列を破壊してロードするにはどうすればよいですか?

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

質問

私は実際に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 ":"のセパレーターを使用して、正規化された列をに分割します namegrade 列。次に、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など)を使用してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top