※この記事にはプロモーションが含まれています。
文字列のインポートが出来ない…方へ!
最近、前々からやってみたかったアプリ開発を始めました。正直、全くの初心者で右も左も分からず・・・wこういう時に相談できる環境がある人は羨ましい。
アプリの開発はフロントエンドは、Monacaというサービスを利用して作成しており、サーバーサイドはMonacaのサービス連携機能として「ニフクラ mobile backend」というサービスを利用しています。今回はこちらの説明は割愛しますので興味のある方はリンク先から見てみてください。
今回の記事は、ニフクラmobile backendにデータベースに文字列を流し込む際に時間がかかったので備忘録と僕のようにニフクラのデータストアへのインポートで詰まってしまった人の参考になればと思います。
また、この記事はニフクラバックエンドを利用したことのある方前提でお話をしているのでご了承ください。
正しいデータ作成方法
文字列のインポートは注意が必要。
ドキュメントによるとインポートする際には、文字列を「””」(ダブルクオーテーション)を付けると文字として認識されると記載がされています。ただ、単純に””をつければいいわけではありません。
今回は、テストでage・ID・nameというフィールドを用意して、nameのレコードを文字列として認識させたいと思い、nameのレコードに””付けただけのCSVをアップロードしてみました。すると、文字列として認識されるのですが、”ブログ”となってしまい、出力データにも””が付いたまま出力されてしまいます。
何故このようなことが起きるかというとCSVデータにする手順が間違っていたためにこのような状態になっていました。カンマ区切りのデータになっていなかったのです。今回はデータをカンマ区切りデータにする方法を記載します。
データ作成手順概要
- Excelまたはスプレッドシートでダブルクオーテーションを付ける。
- テキストエディターを使い、正規表現でカンマを入力
- 保存したデータを.csvまたは.txtでインポート!(今回は.txtにしました。)
の手順で行けます。簡単ですね。
Excelまたはスプレッドシートでダブルクオーテーションを付ける。
ここまでは、先ほどと同様にダブルクオーテーションを付けます。付け方は以下の通りです。
この場合ですと「=””””&B2&””””」と入力します。これで入力すると下記のような表示になります。
ID name ageに””を付けないのは、こちらはフィールド名になるためです。
数字も同様に文字列にしないため、””は付けていません。
そしてこのF列からH列までのデータをコピーします。
テキストエディターを使い、正規表現でカンマを入力
続いて先ほどコピーしたデータをテキストエディターに貼り付けます。今回使用するエディターは秀丸エディターです。
貼り付けた後は、Ctrl + r を押してください。そうすると置換の画面が出てきます。
検索に「¥t」と置換「,」(カンマ)を入れてください。「¥t」とは正規表現で「タブ文字」のことを指します。そして、正規表現という項目にチェックを入れて全置換を押すと・・・
下記の様になります。正規表現にチェックを忘れずに!
保存したテキストデータをインポート!
こちらを保存します。保存時には「UTF-8」を選んで保存してください。
保存したデータをニフクラにインポートします。すると。。。
無事に””が取れました!
まとめ
データインポートに3時間程、悩まされましたが無事に解放されました・・w
同じようなことで詰まった方がいたら参考になりますと幸いです。
おそらくバックエンドなどをやったことある人はほとんど常識だと思いますが、僕のように知見の浅い方には参考になるかと思います。