##1.はじめに
はじめまして、社会人1年目のyappiです。
以前、形態素解析について投稿しまして、データの蓄積もしたいな~と思い、今回はGoogle SpreadSheetに格納してみました。連携方法や値の格納について備忘録としてまとめおきます。
##2.連結
まずは、Colabの方でSpreadSheetとの連結をしていきます。
# 必要なライブラリをインポート
from google.colab import auth
from oauth2client.client import GoogleCredenstials
import gspread
# 認証処理
auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_
##3.シートの作成
以前投稿したときに、スクレイピングして、形態素解析したものをcsvファイルにしたいと考えていました。改良していく中で、それよりもSpreadSheetに書き込んだ方が良くない?と思い...。
今回は、1日1回ニュースを取り込んでみようと考えました。日付ごとにシートを分け、そのシート内にデータを格納していきます。
そのため、シート名に日付をいれて新規シートを作成することで、全て自動でシートの作成とデータの格納をすることができます。
#日付を取得する
import datetime
dt = datetime.date.today()
#記録するファイルに入る
sheet = gc.open_by_key(' Google SpreadSheetのID ')
#日付をシート名に指定して作成
#もちろんですが、title・rows・colsは自由にできます。
worksheet = sheet.add_worksheet(title = f'googleNews_{dt}', rows=10, cols=10)
これで日にちごとのシートを作成することができました。
##4.値の格納
格納の構造がいまいちイメージができませんでした。
今回は、改良するにあたって1次元と2次元配列の格納を試してみたので、その結果を載せておきます。
※Mapでも試してみたんですが、わかりませんでした汗
#1次元配列
#datas = ['A1に追加', 'B1に追加', 'C1に追加']
#datas→複数 datum→単数(@shiracamus さんにご教示いただきました。)
datum = ['A1に追加', 'B1に追加', 'C1に追加']
worksheet.append_row(datas)
#2次元配列
datas = [['A1に追加', 'B1に追加', 'C1に追加'],
['A2に追加', 'B2に追加', 'C2に追加']
]
for temp in datas:
worksheet.append_row(temp)
今回の改良版では、2次元配列を採用しました!
#形態素解析前の単語と形態素解析後の単語を分けて格納する。
#単語羅列するとわかりにくいので、ここでは前が数字、後が英字だと思ってください
datas = [['1', '2', '3']
['A', 'B', 'C']]
#2次元配列を格納していきます。
for temp in datas:
worksheet.append_row(temp)
これで、列ごとに格納したいデータを分けて格納することができます。
##終わりに
次回の記事では、1週間分のGoogleNewsを取得して、どのような単語が多いのか、1週間のトレンドは何かなどを分析した記事をあげていこうと思います。