Duckdb:从 Excel 文件读取时,日期值被读取为数字。如何将它们读作日期?

问题描述 投票:0回答:1

我使用的是 Jupyter 笔记本 7.0.8
DuckDB版本v0.10.2

import duckdb as d

con = duckdb.connect("mydb.db")

con.sql('INSTALL spatial')
con.sql('LOAD spatial')

con.sql("""SELECT my_date_col FROM st_read("my_test_excel.xlsx", layer="Sheet 1")""")

输出:
我的日期COL
int32
45298
45298

我使用 duckDB 的空间函数 st_read 从笔记本电脑读取了一个 excel 文件“my_test_excel.xlsx”。该文件包含一个日期列,日期值为“07-01-2024 00:00:00”。

输出以 Excel 的通用格式将日期显示为数字而不是日期。有没有办法将Excel文件中的日期读取为日期。

我计划将这些值存储到鸭数据库中。

excel date-formatting import-from-excel duckdb
1个回答
1
投票

目前的一个简单修复方法是使用

REPLACE
星号表达式:

将 Excel 纪元日期添加到列中
SELECT * REPLACE('1899-12-30'::DATE + my_date_col AS my_date_col)
FROM ...
© www.soinside.com 2019 - 2024. All rights reserved.