1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Spread Sheetからplistを作った手順

Last updated at Posted at 2015-01-23

はじめに

iPhoneアプリのデータをスプレッドシートで管理する場面があると思います。
それを利用するために一度plistに変換しなければ...という時に。

今回Google Spread Sheet上の約5000件のデータをplistに変換したのでその手順を共有します。

テキストエディタはCotEditorを使用したのですが
私のマシンの低性能のためかしばしば固まりました。

今回作成したplistの形式

dictionaryのarrayを想定しています。

plistの形式
<array>  
  <dict>
    <key>keyX</key><string>value1</string>
    <key>keyY</key><string>value2</string>
    <key>keyZ</key><string>value3</string>
  </dict>
  <dict>
    <key>keyX</key><string>valueA</string>
    <key>keyY</key><string>valueB</string>
    <key>keyZ</key><string>valueC</string>
  </dict>

  ...

</array>

シート上でデータ生成

対象のシート上で作業しました。

左端に列を挿入。

データ部分が2行目からだったので、
2行目の左端セルに以下のような数式を設定。

セルの数式
=CONCATENATE("  <dict>",CHAR(10),"    <key>keyX</key><string>",D2,"</string>",CHAR(10),"    <key>keyY</key><string>",E2,"</string>",CHAR(10),"    <key>keyZ</key><string>",F2,"</string>",CHAR(10),"  </dict>")

セルを選択しテキストエディタにコピーして、想定した内容が入ってきているか確認します。
(ダブルクオートが先頭と末尾についてますが、それは後の工程で消します)

問題なかったら、あとはそのセルを選択し左端の列全体にペースト!
数式内のセル指定部分は自動で変わっているので大丈夫です。

そして左端列全体をコピーしテキストエディタにペーストします。

テキストエディタで整形

ここで一度txt形式でファイルを保存。
CotEditorでは自動でカラーリングしようとして固まったりしますが
txt形式にしておくことで抑制します。

「"」除去

複数行のセル内容をコピペすると「"」が付加されているので
「" <dict>」を「 <dict>」に全件置換。
「 </dict>"」を「 </dict>」に全件置換。

「&」を「&amp;」に置換

「&」を「&amp;」に全件置換。

先頭と末尾にplistヘッダとarrayタグを付加

先頭
<?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>
</plist>

おわりに

こういった作業ですと「スクリプト化しろ」「自動化しろ」と怒られそうですが
まずは手動でやる手順として、参考にしてください。

よろしくお願いします。

別の方法

Excel又はcsvをplistに変換するWebサービスを作成した方がいました。
試しましたが処理が失敗してしまいました。
Excel and CSV to Apple Plist online converter

こちらは試していませんが、着地点はここかもしれません。
【Objective-C】GoogleDriveのSpreadsheetで管理してるデータをplistにする【Ruby】

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?