2014年4月17日木曜日

Google スプレッドシートで「改行を含むセル」をエディタにコピペ。文字列を囲むダブルクォーテーションを外すには一度 Google ドキュメントにペーストする。

1. Google スプレッドシートで「改行を含むセル」をコピペすると、ダブルクォーテーションで囲まれる

SnapCrab_No-0954Google スプレッドシートの1つのセルに複数行を入力するには、Alt + Enter で改行する。

カスタム関数で複数行の文字列を返すには `\n’ を用いる。

function multiLine() {
 return "ほげ\n\
ぴよ\n\
ふが";
}

このセルをエディターにコピペすると、文字列全体がダブルクォーテーションで囲まれてしまう。

"ほげ
ぴよ
ふが"

 

2. CSV 形式では改行が含まれると、ダブルクォーテーションで囲まれる

文字列がダブルクォーテーションで囲まれる理由は、Google スプレッドシートのセルをコピーすると、CSV 形式となるため。

How to copy from Google Spreadsheet without it editing the source data - Web Applications Stack Exchange

The "issue" is that Google Spreadsheet is putting valid CSV-formatted data into the clipboard.

CSV 形式では、改行が含まれるとダブルクォーテーションで囲まれる。

Comma-Separated Values – Wikipedia

フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む。

 

3. Google ドキュメントへコピペしてから、エディタに貼り付ける

SnapCrab_No-0955ダブルクォーテーションを取り除きたい場合は、コピーしたセルを Google ドキュメントに貼り付け、それを再びコピーした後、エディタに貼り付ける。

つまり、

  1. Google スプレッドシートのセルをコピー
  2. Google ドキュメントへ貼り付けてから、再びコピー
  3. エディタへコピー

この場合、Google ドキュメント以外に、LibreOffice や MS Word を用いても良い。