こんにちは、Яeiです。
今回は現役エンジニアである私が、
スプレッドシートにJSON形式のファイルをコピペした際に、ダブルクォーテーションが消える問題について対処法をシェア致します。
目次
問題提起
今回話の対象とするのは、
JSON形式のファイルをコピーしてスプレッドシートに貼付けすると、ダブルクォーテーションが消える
という事象になります。
例えば、以下の内容のJSONファイルをテキストエディタ(例えばサクラエディタ)で開き、コピーしてスプレッドシートに貼付けて見て下さい。
{
{
"name":"papakoletter",
"age":"1"
},
{
"name":"wklibrary",
"age":"2"
}
}
以下のように赤字部分に元々あったダブルクォーテーションがなくなっていることが分かります。
※ 後述しますが、エディタによっては削除されない場合もあります
私の場合、例えばサクラエディタやメモ帳でJSONファイルを開いてコピーして貼り付けした場合にこの事象が発生しました。
事象の解消法
VSCodeを使う
恐らく一番楽で、ストレスない方法だと思います(VSCodeを利用されている方にとってはですが)。
①VSCodeでJSONファイルを開き、コピー
②そのままスプレッドシートに貼り付け(Ctrl+v)
③書式もコピーされているので右下の矢印から「値のみ貼り付け」を選択
これでダブルクォーテーションも維持されたままになります。
なお、貼り付けする際に、Ctrl+vではなく「右クリック→特殊貼り付け→値のみ貼り付け」で貼り付けするとダブルクォーテーションが消え去ります。
(スプレッドシートが勘違いしてテキスト形式だと思って消してしまうとかでしょうかね)
エディタで置換して、再度元に戻す
①置換機能がついているエディタにてダブルクォーテーションを別の文字に置換する
(例えば@に置換してみましょう)
※ サクラエディタの場合、Ctrl+rで置換を開き、置換前「”」、置換後「@」で置換して下さい。
(以下のようになりますね)
{
{
@name@:@papakoletter@,
@age@:@1@
},
{
@name@:@wklibrary@,
@age@:@2@
}
}
②置換したらコピーしてスプレッドシートに貼り付け
③スプレッドシート側で再度ダブルクォーテーションに置換する
(Ctrl+hにて、例えば先ほどの例だと「@」→「”」に置換して下さい)
※ 置換範囲にはご注意下さい(想定外の部分が置換されないように!)。
(問題なければ)一つのセルの中にペーストする
特に見た目上問題なければ一つのセルの中にペーストすれば、
JSON形式のファイルのスプレッドシートへのコピペにおいて、ダブルクォーテーションは削除されたりはしません。
あまりに大きなファイルでなければこの方法でもよい気もします。
当記事は以上となります。
今回はたまたまJSON形式のファイルをスプレッドシートにコピーする機会があり、Excel時代と同じやーんと思って記事にしました。
恐らく多くのエンジニアにとって当たり前の事なのでしょうか、記事も中々に出てきませんでした。
JSON形式のファイルをスプレッドシートにコピーする需要がどれだけあるかは分かりませんが、参考になれば幸いです。
長々とお疲れさまでした。