📜  GET https:docs.googleapis.com v1 文档 {fileId}?fields=body(content(startIndex%2Ctable)) (1)

📅  最后修改于: 2023-12-03 15:00:54.077000             🧑  作者: Mango

Google Docs API - 获取文档表格数据

概要

本文将介绍如何使用Google Docs API获取文档中表格的数据。具体而言,我们将使用API中的GET方法,请求文档中指定文件ID的表格数据。

API请求方式
请求URL
GET https://docs.googleapis.com/v1/documents/{fileId}?fields=body(content(startIndex%2Ctable))
参数说明
  • GET表示发起的HTTP请求方法为GET请求
  • https://docs.googleapis.com/v1/documents/表示Google Docs API的请求基本路径
  • {fileId}是你想要获取数据的文档ID,需替换为具体的文档ID
  • ?fields=body(content(startIndex%2Ctable))表示我们只需获取文档的body字段中从startIndex开始到table结束的内容
返回值

API将返回一个json字符串,其中content字段是文档的具体内容,包括文本和表格数据。我们需要解析其中的表格数据,并将其格式化为指定的格式(例如csv、Excel等)。

下面是一个示例代码片段,展示如何解析返回的json字符串:

import requests
import json

url = 'https://docs.googleapis.com/v1/documents/{fileId}?fields=body(content(startIndex%2Ctable))'
fileId = 'your_file_id_here'
response = requests.get(url.format(fileId=fileId))
content = json.loads(response.content)

table_data = []
for element in content['body']['content']:
    if 'table' in element.keys():
        rows = []
        for row in element['table']['tableRows']:
            cells = []
            for cell in row['tableCells']:
                if 'content' in cell.keys():
                    for elem in cell['content']:
                        if 'text' in elem.keys():
                            cells.append(elem['text']['content'])
            rows.append(cells)
        table_data.append(rows)

如果你希望将表格数据导出为csv格式,可以使用Python中自带的csv库。

下面是一个示例代码片段,展示如何将表格数据导出为csv格式:

import csv

with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    
    for table in table_data:
        for row in table:
            writer.writerow(row)
        
总结

通过使用Google Docs API中的GET方法,我们可以轻松地获取文档中的表格数据。这为我们开展各种文档数据处理与计算提供了便利。