GAE/J 簡易 csv loader

どうしてもjavaでデータストアにcsv形式のデータを読み込みたい。pythonは嫌だ。そんな気持ちでちょっと作ってみました。

CSV2JDO1

ファイル構成

データクラスの作成

csvのデータを格納するJDOクラスを作成します。作り方は公式ドキュメントのこのあたり。javaとcsvのファイル名は同じになるようにしてください。MyData.javaとMyData.txtなど。

CSVの書き方

作成するデータが1つのクラスの場合、1行目にsetter関数名、2行目以降に値を書きます。

setName(), setString(), setInt(), ...
myname, string, 3, ...

たとえばこの例のようにEmployeeが親でContactInfoが子の1対多の関係の場合、まず最初に親となるEmployeeをデータストアに作成します。子のContactInfoのcsvは

Employee.addContactInfo(),streetAddress(), ...
10, mail@address1, ...
10, mail@address2, ...
10, mail@address3, ...

これでkey=Employee(10)にContactInfoを追加できます。
setContactInfoSets(List)とは別にaddContactInfo(ContactInfo)を作ることに注意してください。つまり引数は追加する子クラスである必要があります。同様に

Class1, Class2, Class3.setMethod(), Method1(), Method2(), ...
5, 12, 27, value1, value2, ...

はkey=Class1(5)/Class2(12)/Class3(27)のデータにvalue1,value2, …という値を持つオブジェクトをClass3.setMethod()を使って追加します。ここらへんはテストしていないのでどうなるかわかりません・・・。

ソースをダウンロード

csvの読み込みにopencsvを利用しています。


Class3.Method()

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です