<p><a href="https://gsuite-developers.googleblog.com/2016/05/apps-dev-sheets-api.html" rel="nofollow noreferrer">As of Google I/O 2016</a>,最新的<a href="http://developers.google.com/sheets" rel="nofollow noreferrer">Google Sheets API</a>支持批量单元格更新(和读取)。但是请注意,<a href="http://developers.google.com/gdata" rel="nofollow noreferrer">GData</a>与大多数<a href="http://developers.google.com/gdata/docs/directory" rel="nofollow noreferrer">GData-based APIs</a>一起被弃用,包括上面的示例,因为新的API是<strong>而不是</strong>GData。同样,在代码中将电子邮件地址和密码以纯文本形式存在安全风险,因此<a href="http://developers.google.com/api-client-library/python/apis" rel="nofollow noreferrer">new(er) Google APIs</a>使用<a href="https://developers.google.com/api-client-library/python/guide/aaa_overview" rel="nofollow noreferrer">OAuth2</a>进行授权。你需要得到最新的<a href="http://developers.google.com/api-client-library/python" rel="nofollow noreferrer">Google APIs Client Library for Python</a>。这和<code>pip install -U google-api-python-client</code>[或者python3的<code>pip3</code>一样简单。在</p>
<p>至于批插入,这里是一个简单的代码示例。假设<code>rows</code>中有多行数据。要将其大量注入到一个工作表中,比如使用文件ID <code>SHEET_ID</code>&从单元格的左上角开始,可以进行如下调用:</p>
<pre><code>SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID, range='A1',
body={'values': rows}, valueInputOption='RAW').execute()
</code></pre>
<p>如果您想要一个较长的示例,请参阅下面的第一个视频,其中这些行是从关系数据库中读取的。对于那些不熟悉这个API的人,这里有来自官方文档的<a href="http://developers.google.com/sheets/quickstart/python" rel="nofollow noreferrer">one code sample</a>来帮助你入门。有关更长时间、更多“真实世界”的示例,请参阅以下视频和博客文章:</p>
<ul>
<li><a href="http://gsuite-developers.googleblog.com/2016/06/introducing-google-sheets-api-v4.html" rel="nofollow noreferrer">Migrating SQL data to a Sheet</a>加码深潜<a href="http://wescpy.blogspot.com/2016/06/using-new-google-sheets-api.html" rel="nofollow noreferrer">post</a></li>
<li><a href="http://gsuite-developers.googleblog.com/2016/11/formatting-cells-with-the-google-sheets-api.html" rel="nofollow noreferrer">Formatting text using the Sheets API</a>加代码深入研究<a href="http://wescpy.blogspot.com/2016/09/formatting-cells-in-google-sheets-with.html" rel="nofollow noreferrer">post</a></li>
<li><a href="https://gsuite-developers.googleblog.com/2016/11/generating-slides-from-spreadsheet-data.html" rel="nofollow noreferrer">Generating slides from spreadsheet data</a>加代码深入研究<a href="http://wescpy.blogspot.com/2016/11/generating-slides-from-spreadsheet-data.html" rel="nofollow noreferrer">post</a></li>
</ul>
<p>最新的Sheets API提供了在旧版本中不可用的功能,即让开发人员以编程方式访问工作表,就像使用用户界面一样(创建冻结的行、执行单元格格式、调整行/列的大小、添加透视表、创建图表等)</p>
<p>但是,要对工作表执行<strong>文件</strong>级访问,例如导入/导出、复制、移动、重命名等,您应该使用<a href="http://developers.google.com/drive" rel="nofollow noreferrer">Google Drive API</a>。使用驱动器API的示例:</p>
<ul>
<li>将Google工作表导出为CSV(<a href="http://wescpy.blogspot.com/2016/07/exporting-google-sheet as-csv.html" rel="nofollow noreferrer">blogpost</a>)</li>
<li>“穷人的纯文本到PDF”转换器(<a href="http://wescpy.blogspot.com/2015/12/google-drive-uploading-downloading.html" rel="nofollow noreferrer">blogpost</a>)(*)</li>
</ul>
<p>(*)-TL;DR:将纯文本文件上载到驱动器,导入/转换为Google Docs格式,然后将该文档导出为PDF。上面的文章使用了driveapiv2;<a href="http://wescpy.blogspot.com/2015/12/migrating-to-new-google-drive-api-v3.html" rel="nofollow noreferrer">this follow-up post</a>描述了将其迁移到driveapiv3,这里是一个<a href="http://googledevelopers.blogspot.com/2016/01/google-drive-uploading-downloading.html" rel="nofollow noreferrer">developer video</a>组合了两个“穷人的转换器”帖子。在</p>