Python スプレッドシート

Pythonで加工したデータをスプレッドシートに貼り付けるには?

Pythonで加工したデータをスプレッドシートに貼り付けるには?

前回、Pythonでクリップボードを操作する方法を書きました。

別アプリに貼り付けられるなら、スプレッドシートはどうか?
というのは、PythonからCSVファイルを出力 ⇒ 「Google Apps Script」で加工、スプレッドシートに展開、という作業をしています。
これを、Pythonで加工 ⇒ スプレッドシートに貼り付け、と、CSVファイルを省略できるのでは?と思い立ったわけです。

それには、Pythonからスプレッドシートに貼り付けることができるのか?できるならどういう形式にするのか?
やり方をまとめました。

 

スプレッドシートに貼り付けるにはデータをどう加工したらいい?

セルの区切りを「タブ(\t)」で、改行を「キャリッジリターン(\r)」と「ラインフィード(\n)」でします。

具体例を挙げてみます。
まずは、貼り付けたいデータを用意します。
疑似個人情報生成で用意しました。

これをPythonでクリップボードに入れるには次のように書きます。

import pyperclip
 
mytxt = \
'連番\t氏名\t氏名(カタカナ)\t性別\t電話番号\t生年月日\r'\
'1\t長崎勝美\tナガサキカツミ\t女\t0952147154\t1996/11/08\r'\
'2\t中井萌\tナカイモエ\t女\t0192772541\t1995/05/17\r'\
'3\t木内日菜\tキウチヒナ\t女\t0922667757\t1995/08/17\r'\
'4\t萩原利彦\tハギワラトシヒコ\t男\t0855019844\t1969/04/01\r'\
'5\t小倉琴音\tオグラコトネ\t女\t0745910570\t1964/01/19\r'\
'6\t土屋富夫\tツチヤトミオ\t男\t0868249650\t1990/05/31\r'\
'7\t北島文雄\tキタジマフミオ\t男\t0964669794\t1977/08/06\r'\
'8\t島妃菜\tシマヒナ\t女\t0745906535\t1988/06/08\r'\
'9\t児島夏向\tコジマカナタ\t男\t0672503524\t1996/12/17\r'\
'10\t織田良明\tオダヨシアキ\t男\t0847790635\t1973/03/08\r'
 
pyperclip.copy(mytxt)

上記のコードを実行した後、スプレッドシートに貼り付けます。
Pythonで加工したデータをスプレッドシートに貼り付けるには?電話番号はスプレッドシートでの編集が必要なものの、それ以外は上手くいきました。

 

まとめ

Pythonのデータをスプレッドシートに貼り付けるためには、「タブ(\t)」「キャリッジリターン(\r)」「ラインフィード(\n)」と組み合わせてクリップボードに入れます。
改行コードについてはOSによるので、MacやLinuxでは挙動が変わるかもしれません。
このやり方は、Excelにも貼り付けられます。
早速、作業が簡略化できるか試してみようっと。

-Python, スプレッドシート
-, , , , , , , , , , , , , , ,