Seb*_*ien 1 google-api-python-client google-sheets-api
这是一段代码:
import ast
from oauth2client import file, client, tools
from oauth2client.service_account import ServiceAccountCredentials
from httplib2 import Http
from apiclient.discovery import build
from apiclient import discovery
SCOPE = 'https://www.googleapis.com/auth/spreadsheets'
CREDJSON = "some-cred-file-downloaded-from-dev-console.json"
def google_credentials(jsoncred=CREDJSON, scope=SCOPE):
return ServiceAccountCredentials.from_json_keyfile_name(jsoncred, scope)
def csv_arrays(creds, key):
(SHEETS, sheets) = sheets_fetch(creds, key)
wks = sheets
def create_filename(arg):
filename = key.prefix + "_" + arg.get("properties, {}).get("title","Sheet1")
filename = filename.replace(" ", "_")
print (filename)
return filename
return [(create_filename(ws), ast.literal_eval(repr(SHEETS.spreadsheets().values().get(spreadsheetId=key.key, range=(ws.get("properties", {}).get("title", "Sheet1"))).execute().get('values',[])))) for ws in wks] #.decode("utf-8")
def sheets_fetch(creds, key):
print('Now doing:', key)
SHEETS = build('sheets', 'v4', http=creds.authorize(Http()))
sheet_metadata = SHEETS.spreadsheets().get(spreadsheetId=key.key).execute()
sheets = sheet_metadata.get('sheets', '')
return (SHEETS, sheets)
Run Code Online (Sandbox Code Playgroud)
获取细胞内容没有问题.我的问题是它们是格式化的(因为这是默认值),我想要它们UNFORMATTED?
如何在csv_array函数的return语句查询中设置选项?
https://developers.google.com/sheets/reference/rest/v4/ValueRenderOption
作为旁注,有没有办法以其他方式获取单元格值而不是作为列表的字符串?
要使用python客户端设置UNFORMATTED_VALUE的valueRenderOption,请使用:
SHEETS.spreadsheets().values().get(spreadsheetId=key.key, range=myRange, valueRenderOption='UNFORMATTED_VALUE').execute()
此外,当使用UNFORMATTED_VALUE时,响应将在Sheets中键入(例如,数字将是数字,bool将是bool,字符串将是字符串).日期是字符串或数字,具体取决于DateTimeRenderOption,有关将日期作为数字处理的更多信息,请参阅日期/时间序列号指南.
因为值已经正确输入,所以您不需要使用ast或repr进行任何其他解析.
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |