2016-12-02 54 views
0

我有一個Python代碼,它將數據插入Google Spreadsheet。我怎樣才能選擇我想要插入數據的行?例如: 我有三個變量:溫度,溼度,壓力和實際日期,他們需要插入從E1行到H1?插入到特定的行GoogleSpreadsheet - Python

import time 
import httplib2 
# Do OAuth2 stuff to create credentials object 
from oauth2client.file import Storage 
from oauth2client.client import flow_from_clientsecrets 
#from oauth2client.tools import tools 
import math 
import tools 
import getopt 
import sys 
import string 
import datetime 


storage = Storage("creds.dat") 
credentials = storage.get() 
if credentials is None or credentials.invalid: 
    flags = tools.argparser.parse_args(args=[]) 
    flow = flow_from_clientsecrets("client_secret.json", scope=["https://spreadsheets.google.com/feeds"]) 
    credentials = tools.run_flow(flow, storage, flags) 
if credentials.access_token_expired: 
    credentials.refresh(httplib2.Http()) 

# Use it within old gdata 
import gdata.spreadsheet.service 
import gdata.service 

client = gdata.spreadsheet.service.SpreadsheetsService(
    additional_headers={'Authorization' : 'Bearer %s' % credentials.access_token}) 

#public example 
spreadsheet_key = my_spreadsheet_key' 
entry = client.GetSpreadsheetsFeed(spreadsheet_key) 
print entry.title 

temp=20 
pressure = 1000 
humidity = 40 


#  # Prepare the dictionary to write 

dict = {} 
dict['datetime'] = time.strftime("%Y-%m-%d %H:%M:%S") 
dict['ctemp'] = str(temp) 
dict['pressure'] = str(pressure) 
dict['humidity'] = str(humidity) 

rangeName = 'E1:H1' 



#What should I write here? 


#print dict 
#entry = client.InsertRow(dict, spreadsheet_key, 'od6') 
#if isinstance(entry, gdata.spreadsheet.SpreadsheetsList): 
     #print "Insert row succeeded." 
#else: 
#  print "Insert row failed." 

回答

0

結帳庫pygsheets,我寫了張谷歌API V4,使用上面可以通過

import pygsheets 

gc = pygsheets.authorize() 

# Open spreadsheet and then workseet 
sh = gc.open('my new ssheet') 
wks = sh.sheet1 

# Update the range 
wks.update_cells(crange='E1:H1', [[temp,pressure,humidity]]) 

可以實現,如果你真的想用GDATA,然後結賬gspread