扩展Gsheets以增加功能

gsheetsplus的Python项目详细描述


gsheetsplus

gsheetsplusgsheets库上的一个扩展,提供附加功能,如在两个轴之间绘制图形。在

Turn on the API,下载OAuth客户机ID作为JSON文件,并创建 Sheets对象。使用其索引访问(__getitem__)检索 电子表格对象的id,或将.get()与工作表URL一起使用。 迭代所有电子表格的Sheets对象,或获取电子表格 按标题使用.find().findall()方法。在

电子表格对象是工作表的集合,提供对 通过电子表格坐标/切片(例如ws['A1'])和 从零开始的单元格位置(例如ws.at(0, 1))。在

链接

安装

此软件包在3.8+下运行,使用pip安装:

pip install gsheetsplus

这还将安装gsheets、matplotlib及其依赖项。在

快速启动

使用其 要访问的电子表格。创建(或选择)项目并启用 Drive APISheets API(位于Google Apps API)。在

转到项目的凭据,然后创建新凭据>; OAuth客户端ID>;类型为Other。在您的OAuth 2.0客户端的列表中 IDs单击Download JSON作为您刚刚创建的客户机ID。保存 在您的主目录(用户目录)中以client_secrets.json的形式文件。 在本例中,另一个名为storage.json的文件将在之后创建 成功授权缓存OAuth数据。在

当您第一次将gsheets与此文件一起使用时(保存客户机密), 你的网络浏览器将被打开,要求你用你的谷歌帐户登录 授权此客户端对其所有Google驱动器文件和Google的读访问权限 被单。在

创建sheets对象:

^{pr2}$

按id或url获取电子表格:

# id only>>>sheet['1dR13B3Wi_KJGUJQ0BZa2frLAVxhZnbz0hpwCcWSvb20']<SpreadSheet1dR13...20u'Spam'># id or url>>>url='https://docs.google.com/spreadsheets/d/1dR13B3Wi_KJGUJQ0BZa2frLAVxhZnbz0hpwCcWSvb20'>>>s=sheets.get(url)>>>s<SpreadSheet1dR13...20u'Spam'>

访问工作表及其值:

# first worksheet with title>>>s.find('Tabellenblatt2')<WorkSheet1747240182u'Tabellenblatt2'(10x2)># worksheet by position, cell value by index>>>s.sheets[0]['A1']u'spam'# worksheet by id, cell value by position>>>s[1747240182].at(row=1,col=1)1

将工作表转储到CSV文件:

>>>s.sheets[1].to_csv('Spam.csv',encoding='utf-8',dialect='excel')

将所有工作表转储到CSV文件(从电子表格和 工作表标题):

>>>csv_name=lambdainfos:'%(title)s - %(sheet)s.csv'%infos>>>s.to_csv(make_filename=csv_name)

将工作表数据加载到pandas数据框中(需要pandas):

>>>s.find('Tabellenblatt2').to_frame(index_col='spam')eggsspamspameggs...

WorkSheet.to_frame()将其kwargs传递给pandas.read_csv()

在两个轴之间绘制图形(需要pandas):

>>>df=s.find("Sheet1").to_frame()>>>sheets.plot(df,"offer_price","average_sales","graph")>>>plt.show()

Gsheets的详细文档可以在here找到。在

另请参见

  • gsheetsgsheetsplus的基本库
  • gsheets.py用于转储Google所有工作表的自包含脚本 将电子表格转换为CSV或将任何子表转换为熊猫数据帧(Python2 此库的原型)
  • gspreadGoogle电子表格Python API(更成熟、更具特色 Python包装器,当前使用基于XML的legacy v3 API
  • example Jupyter notebook使用gspread将一张床单放入熊猫 数据帧
  • df2gspread在Google电子表格和Pandas之间传输数据(构建 在gspread上,当前仅限于python2,GPL)
  • pygsheets谷歌电子表格Python API v4(v4端口gspread 提供进一步扩展)
  • gspread-pandas通过Pandas数据帧与Google电子表格交互
  • pgsheets使用Pandas数据帧(独立 双向传输库,仅使用legacy v3 API,python3)
  • ^{a22简易包装机 对于Google DriveAPI,当前为v2)

许可证

此包在MIT license下分发。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个循环打印1020之间的所有值?我想让它打印出可以被5整除的值   java如何在JTable中集中单元格   java无法通过一个键从hashmap获取对象,该键具有相同的hashcode,并且两个键等于()   不兼容的类型?JAVA   将字符串开头与空格匹配时java replaceAll的正则表达式混淆结果   java为非java应用程序创建jar文件。类文件   java无法从另一个普通Http Servlet访问筛选器Servlet的会话属性   java Ejb,第二个方法中的错误回滚第一个方法   swing java操作侦听器在菜单上,而不是在菜单项上   分析文件时出错:分析文件时出错:无法在Java的XSSF中分析excel文件   java将实体注入到ViewScope Bean中   java如何关闭终端而不终止正在运行的jar文件进程   爪哇力下传   java不能隐式地将[T]强制转换为AT,其中[T]扩展为AT   java Spring项目在jsp页面中显示mysql表数据   java在创建新实例SQLITE时出错