csv2plistを作りました。

iPhoneアプリでデータベースぽいものであるものであるplistファイル。
チームで作っる場合、データはエクセルで作ることがよくあると思います。そのなものいちいち編集したり、置換したりするのは大変なのでcsvからplistへ変換するプログラムを書きました。

言語はscalaです

こちらに置いてあります。
GitHub - akuraru/csv2plist: csv to plist converter
使い方
読み込ませるcsvファイルはこれだとしたら
(sample.csv

id,テスト,本文
1,テスト1,"改行
含み"
2,test2,"カンマ,含み"
4,てすと3,"ダブルクォーテーション""含み"
1,っってすと,てふてふ

初めの一行を目次として使う場合
ターミナルから次のように実行すると
$ java -jar csv2plist.jar -t sample.csv

こんな感じでplistファイルを出力します。
(sample.plist)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>id</key>
		<string>1</string>
		<key>テスト</key>
		<string>テスト1</string>
		<key>本文</key>
		<string>改行
含み</string>
	</dict>
	<dict>
		<key>id</key>
		<string>2</string>
		<key>テスト</key>
		<string>test2</string>
		<key>本文</key>
		<string>カンマ,含み</string>
	</dict>
	<dict>
		<key>id</key>
		<string>4</string>
		<key>テスト</key>
		<string>てすと3</string>
		<key>本文</key>
		<string>ダブルクォーテーション"含み</string>
	</dict>
	<dict>
		<key>id</key>
		<string>1</string>
		<key>テスト</key>
		<string>っってすと</string>
		<key>本文</key>
		<string>てふてふ</string>
	</dict>
</array>
</plist>

さらに次のような実行異なった形式で出力される
$ java -jar csv2plist.jar -a hoge.csv

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<array>
		<string>テスト1</string>
		<string>test2</string>
		<string>てすと3</string>
	</array>
	<array>
		<string>っってすと</string>
	</array>
</array>
</plist>

$ java -jar csv2plist.jar -t -a hoge.csv

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<array>
	<dict>
		<key>テスト</key>
		<string>テスト1</string>
		<key>本文</key>
		<string>改行
含み</string>
	</dict>
	<dict>
		<key>テスト</key>
		<string>test2</string>
		<key>本文</key>
		<string>カンマ,含み</string>
	</dict>
	<dict>
		<key>テスト</key>
		<string>てすと3</string>
		<key>本文</key>
		<string>ダブルクォーテーション"含み</string>
	</dict>
	</array>
	<array>
	<dict>
		<key>テスト</key>
		<string>っってすと</string>
		<key>本文</key>
		<string>てふてふ</string>
	</dict>
	</array>
</array>
</plist>

CSVファイルにタイトル行がない場合は、-tのオプションなしで実行してください。
$ java -jar csv2plist.jar hoge.csv