将表格导出到google电子表格。
df2gspread的Python项目详细描述
在google电子表格和pandas数据框之间传输数据。
说明
提供传输表数据可能性的python库 在google电子表格和pandas数据框架之间 管理或处理。 在任何情况下,当您需要处理数据时都可以使用 位于谷歌驱动器
安装
示例安装,使用virtualenv:
# install/use python virtual environment virtualenv ~/virtenv_scratch --no-site-packages # activate the virtual environment source ~/virtenv_scratch/bin/activate # upgrade pip in the new virtenv pip install -U pip setuptools # install this package in DEVELOPMENT mode # python setup.py develop # simply install # python setup.py install # or install via pip pip install df2gspread
访问凭据
要允许脚本使用google drive api,我们需要验证 我们对谷歌的自我评价。为此,我们需要创建一个项目, 描述工具并生成凭据请使用您的网络 浏览器并转到Google console和:
- 在顶部的弹出菜单中选择“创建项目”。
- 将出现一个对话框,请为项目命名,然后单击“create”按钮。
- 在左侧菜单上单击“API管理器”。
- 显示了可用api的表。切换“drive api”,然后单击“enable api”按钮。出于我们的目的,可能会关闭其他api。
- 在左侧菜单上单击“credentials”。
- 在“OAuth同意屏幕”部分中,选择您的电子邮件地址并为您的产品命名。然后单击“保存”按钮。
- 在“凭据”部分中,单击“添加凭据”,然后切换“OAuth 2.0客户端ID”。
- 出现一个对话框“Create Cliend ID”选择“应用程序类型”项作为“其他”
- 单击“创建”按钮。
- 单击创建的“OAuth 2.0客户端ID”右侧的“download json”图标,并将下载的文件存储在文件系统中。请注意,该文件包含您的私人凭据,因此请以处理您的私人ssh密钥的方式来处理该文件;即将下载的json文件移动到~/.gdrive_private。
- 然后,第一次运行它时,浏览器窗口将打开一个google授权请求页面。批准授权,然后凭据将按预期工作。
用法
运行df2gsspread,如下所示:
fromdf2gspreadimportdf2gspreadasd2gimportpandasaspdd=[pd.Series([1.,2.,3.],index=['a','b','c']),pd.Series([1.,2.,3.,4.],index=['a','b','c','d'])]df=pd.DataFrame(d)# use full path to spreadsheet filespreadsheet='/some/folder/New Spreadsheet'# or spreadsheet file id# spreadsheet = '1cIOgi90...'wks_name='New Sheet'd2g.upload(df,spreadsheet,wks_name)# if spreadsheet already exists, all data of provided worksheet(or first as default)# will be replaced with data of given DataFrame, make sure that this is what you need!
运行gspread2df如下:
fromdf2gspreadimportgspread2dfasg2d# use full path to spreadsheet filespreadsheet='/some/folder/New Spreadsheet'# or spreadsheet file id# spreadsheet = '1cIOgi90...'wks_name='New Sheet'df=g2d.download(spreadsheet,wks_name,col_names=True,row_names=True)
文件
文档可用here。
测试
测试是基于py.test的。使用:
py.test tests/ -v
或者用coverage:
coverage run --source df2gspread -m py.test coverage report
开发
安装提供的githooks;例如:
ln -s ~/repos/df2gspread/_githooks/commit-msg ~/repos/df2gspread/.git/hooks/commit-msg ln -s ~/repos/df2gspread/_githooks/pre-commit ~/repos/df2gspread/.git/hooks/pre-commit