如何读取作为日期googlesheets API获取的单元格数据的值

2024-09-30 14:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个电子表格,日期格式为“1月30日”等,但有实际的日期值。在

enter image description here

我使用python google Sheets API获取数据,如下所示:

def get_spreadsheet_sheets(service, spreadsheetId):
    spreadsheet = service.spreadsheets().get(spreadsheetId=spreadsheetId).execute()
    dateCell = "C15"
    for sheet in spreadsheet['sheets']:
        sheetTitle = sheet['properties']['title']
        rangeName = "%s!%s" % (sheetTitle, dateCell)
        result = service.spreadsheets().values().get(
            spreadsheetId=spreadsheetId, range=rangeName).execute()
        values = result.get('values',[])

值给了我“jan30”,我想把它读成1/30/2017。。我怎么能做到呢?在

更新

Digger深入到spreadsheets.value.get http documentation(它对应于python api客户机方法引用here),我了解到可以将valueRenderOption的选项设置为UNFORMATTED_VALUE。。在

但是当我运行时,我得到了一个奇怪的数字Jan 3042765

enter image description here

这个数字到底是什么格式的?我知道它不是unix时间戳b/c转换它返回一个不合理的日期

更新2:解决方法

这段代码可以工作,但是使用python日期格式(它还假定年份是当前年份。。但显然不会总是这样):

^{pr2}$

Tags: 方法executeget格式serviceresultsheetvalues
1条回答
网友
1楼 · 发布于 2024-09-30 14:18:51

“奇怪的数字”它被称为“序列化日期时间值”或“日期序列值”。显示为date(yyyy-mm-dd)的0值是1899-12-30。整数是天,分数是小时、分钟等

相关:Converting Google spreadsheet date into a JS Date object?

参考文献:

h/tSam Berlin

相关问题 更多 >