我如何使用 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 对我来说是必需的,因为我的日期对时区敏感,而你的可能不是。
我搞砸了超链接,它不工作。该死的。感谢匿名编辑,他不可避免地会出现并修复它。非常抱歉。
我有这个代码:
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 对我来说是必需的,因为我的日期对时区敏感,而你的可能不是。
我搞砸了超链接,它不工作。该死的。感谢匿名编辑,他不可避免地会出现并修复它。非常抱歉。