Google sheetsのデータは、URLで共有(限定公開)することでローカルのスクリプトから読み込むことができる。その際、https://docs.google.com/spreadsheets/d/#{sheet_id}/export?format=csv&gid=#{page_id}
というURLでアクセスすることで、CSV形式で読み込める。{sheet_id}
はワークシートのID、{page_id}
はページのIDで、シートを開いた時のURLに表示されているものと同じ。
SSLで読み込むために、
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
が必要。そして、
sheet_id = '*****'
page_id = '0'
CSV.parse(open("https://docs.google.com/spreadsheets/d/#{sheet_id}/export?format=csv&gid=#{page_id}", "r:UTF-8")) do |row|
p row
end
で読み込める。
Pandasを使う場合は、以下のようになる。
import pandas as pd
url = "https://docs.google.com/spreadsheets/d/{sheet_id}/export?format=csv&gid={page_id}"
df = pd.read_csv(url,header=2)
また、plainなPythonであれば、ここにあるように、以下のようになる。
import csv
import urllib2
url = "https://docs.google.com/spreadsheets/d/{sheet_id}/export?format=csv&gid={page_id}"
response = urllib2.urlopen(url)
cr = csv.reader(response)
for row in cr:
print row