2016-08-09 9 views
1

は、コードスニペットです:Googleのシートにグーグル-API-pythonのクライアントでValueRenderOptionを使用する方法

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) 

私は何の問題のセルの内容を取得していません。私の問題は、彼らがフォーマットされて(これがデフォルト値であるので)来て、私はそれらを絶え間なく欲しいですか?

csv_array関数のreturn文のクエリでオプションを設定するにはどうすればよいですか?側の注意点として

https://developers.google.com/sheets/reference/rest/v4/ValueRenderOption

、よりリストに文字列AST-EDのような他の方法でのセル値を取得する方法はありますか?

答えて

3

は、PythonクライアントとUNFORMATTED_VALUEのvalueRenderOptionを設定するために使用:UNFORMATTED_VALUEを使用した場合

SHEETS.spreadsheets().values().get(spreadsheetId=key.key, range=myRange, valueRenderOption='UNFORMATTED_VALUE').execute()

また、応答は、それが(例えば、数字は数字になりますシートであるとして入力され、 boolはboolになり、stringはstringになります)。日付は文字列または数字のいずれかで、DateTimeRenderOptionに応じて、Date/Time Serial Numbers Guideを参照して、数字を日付として扱う方法の詳細を参照してください。

値がすでに正しく入力されているため、astまたはreprを使用して追加の解析を行う必要はありません。

+0

最初のバージョンが機能します。私はreprとastの両方を削除する必要があります。 "実際の文字列としてではなく、実際の型としてデータ型を取得する"あなたはそれを受け入れることができるように答えを更新できますか? – Sebastien

+0

確認していただきありがとうございます!更新された回答。 –

関連する問題