来自Google电子表格的Get_all_values

时间:2015-07-08 20:57:15

标签: python google-oauth gspread

我在使用Gspread的get_all_values()

时遇到问题
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
from gmail_variables import *

json_key = json.load(open('key7367.json'))
scope = ['https://spreadsheets.google.com/feeds']

credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)

gc = gspread.authorize(credentials)


wks = gc.open_by_url('https://docs.google.com/a/test.com/spreadsheets/d/1-cAg..sLt5Ho/edit?usp=sharing')

recipients = wks.get_all_values()

我正在尝试编写一个电子邮件程序,以便从Google电子表格中提取。当我试图运行它;我收到了错误。

'Spreadsheet' object has no attribute 'get_all_values'

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您只是打开工作簿而不是指定要从中获取get_all_values的工作表。您需要调用get_worksheet()方法。尝试:

wks = gc.open_by_url('https://docs.google.com/a/test.com/spreadsheets/d/1-cAg..sLt5Ho/edit?usp=sharing').get_worksheet(0)

recipients = wks.get_all_values()

其中'0'是工作表的索引(0是工作簿中的第一个工作表)。

答案 1 :(得分:0)

打开电子表格(open_by_url)后,您需要指定要尝试使用的工作表,即使您只有一个。您可以通过几种不同的方式实现此目的:

按索引(从0开始)

sh = wks.get_worksheet(0)

按标题

sh = wks.worksheet("January")

最常见的情况:Sheet1

sh = wks.sheet1

所以修复将是

wks = gc.open_by_url('https://docs.google.com/a/test.com/spreadsheets/d/1-cAg..sLt5Ho/edit?usp=sharing')
sh = wks.get_worksheet(0)
recipients = sh.get_all_values()