美文网首页
Google Sheets Python API

Google Sheets Python API

作者: MayerBin | 来源:发表于2022-09-18 16:23 被阅读0次

1、背景

  • 作为一个sql boy 其实基本上大部分的数据均在数据产品做自动化更新了,但是有某些数据因为没有落库(需要excel各种公式计算),或者是给ceo出日报等,需要比较灵活没有办法放到数据产品上提供服务,这个时候需要把数据放到excel上给到需求方。。。久而久之这样确实是很浪费时间,所以最好的方式是python自动处理计算逻辑,自动写入google sheet(云文档),需求方打开即阅。

2、申请google sheet API

2.1 进入Google cloud控制台

2.2 创建新项目

[图片上传失败...(image-8b5d7-1663489452044)]

[图片上传失败...(image-26cad7-1663489452044)]

[图片上传失败...(image-b19cd1-1663489452044)]

2.3 启用API和服务

[图片上传失败...(image-7fbe95-1663489452044)]

[图片上传失败...(image-12a234-1663489452044)]

[图片上传失败...(image-b32dd7-1663489452044)]

2.4 创建凭证

[图片上传失败...(image-d074d3-1663489452044)]

[图片上传失败...(image-fb4c34-1663489452044)]

[图片上传失败...(image-f2c67d-1663489452044)]

2.5 获取私钥文件

[图片上传失败...(image-619a93-1663489452044)]

[图片上传失败...(image-516b96-1663489452044)]

[图片上传失败...(image-ec7b8c-1663489452044)]

[图片上传失败...(image-9863a1-1663489452044)]

3、创建Google sheet

[图片上传失败...(image-5cd94a-1663489452044)]

3.1 共享编辑权限

  • 打开上一步操作获取的json文件拿邮箱地址
"client_email": "test-api@plucky-haven-318207.iam.gserviceaccount.com"
# test-api@plucky-haven-318207.iam.gserviceaccount.com

[图片上传失败...(image-1ef58b-1663489452044)]

4、python操作

4.1 模块安装

import pygsheets # pip install pygsheets 
import pandas as pd
from pyhive import presto # python连接presto

# 关联参数
conn = presto.connect(protocol='https', host='', port=,username="", password = '')

# 获取dataframe
df = pd.read_sql_query(
'''
select * from xxx 
'''
, conn)

# df = pd.read_sql_query(open('/data/jupyter/Data.sql','r').read() , conn)

4.2 数据操作

client = pygsheets.authorize(service_file = "plucky-haven-318207-0eb060f3f328.json")

# 获取Google sheet
sh = client.open('test') # test为gs的表名
# 指定对应的sheet
wks = sh.worksheet_by_title('title1') # title1 为对应sheet名

# 数据写入
 wks.set_dataframe(df,(1,1),nan='', fit = True)

# 读取对应sheet的数据
df = pd.DataFrame(wks.get_all_records())

延伸阅读

pygsheet官方文档:https://pygsheets.readthedocs.io/en/stable/

pygsheets github:https://github.com/nithinmurali/pygsheets

Python 串接 GoogleSheet 新增、讀取、更新和刪除:https://www.maxlist.xyz/2018/09/25/python_googlesheet_crud/#%E4%BA%8C_Python_%E6%96%B0%E5%A2%9E_GoogleSheet_%E8%B3%87%E6%96%99

相关文章

网友评论

      本文标题:Google Sheets Python API

      本文链接:https://www.haomeiwen.com/subject/xwgyortx.html