我如何使用 pantab 将日期时间获取到画面提取中

How do i get datetime into a tableau extract with pantab

我有这个代码:

import pantab
import pandas as pd
import datetime
df = pd.DataFrame([
    [datetime.date(2018,2,20), 4],
    [datetime.date(2018,2,20), 4],
], columns=["date", "num_of_legs"])

pantab.frame_to_hyper(df, "example.hyper", table="animals")

导致此错误的原因:

TypeError: Invalid value "datetime.date(2018, 2, 20)" found (row 0 column 0)

有解决办法吗?

这显然是自 2020 年以来的一个问题。您必须知道哪些列是日期时间列,因为熊猫数据类型将日期和字符串视为对象。有一个数据科学家不关心日期的世界,但显然不是我的。无论如何,这是等待 pandas 制作日期 dtype 的那一天的解决方案:

[https://github.com/innobi/pantab/issues/100][1]

并且只是为了减少它来做我所做的事情:

def createHyper(xlsx, filename, tablename):
    for name in xlsx.columns:
        if 'date' in name.lower():
            xlsx[name] = pd.to_datetime(xlsx[name],errors='coerce',utc=True)
    pantab.frame_to_hyper(xlsx,filename,table=tablename)
    return open(filename, 'rb')

errors = 'coerce' 这样你就可以拥有像 1/1/3000 这样的日期,这在 scd2 表的世界中很方便 utc = True 对我来说是必需的,因为我的日期对时区敏感,而你的可能不是。

我搞砸了超链接,它不工作。该死的。感谢匿名编辑,他不可避免地会出现并修复它。非常抱歉。