Power BI 中的 Python 脚本将日期返回为 Microsoft.OleDb.Date

Posted

技术标签:

【中文标题】Power BI 中的 Python 脚本将日期返回为 Microsoft.OleDb.Date【英文标题】:Python script in Power BI returns date as Microsoft.OleDb.Date 【发布时间】:2019-01-26 12:07:30 【问题描述】:

在导入包含两列 [Date, Value] 的 csv 文件并使用 Home > Edit Queries > Transform > Run Python Script 对其进行转换后,Date 列显示 Microsoft.OleDb.Date 而不是日期。在运行脚本之前,同一列中的相同值显示为12.10.2018(来自csv 的输入格式为2018-10-12)。这会导致Query Settings 中的任何后续步骤中断。你如何解决这个问题?

样本数据:

Date,Value
2108-10-12,1
2108-10-13,2
2108-10-14,3
2108-10-15,4
2108-10-16,5

代码示例:

# 'dataset' holds the input data for this script
dataset['Value2'] = dataset['Value']*10
dataset

错误:

【问题讨论】:

【参考方案1】:

这与 R 脚本 here 描述的问题相同,但为了清楚起见,我还将在 Power BI 中添加 Python 的答案。

简答:

在插入 Python 脚本之前,只需将 Date 数据类型从 date 更改为 Text

详情:

如果您使用 Home > Get Data 功能导入 csv 文件,然后转到 Home > Edit Queries,您将看到以下内容:

在您执行任何其他操作之前,只需单击日期旁边的符号并选择Text

现在您可以点击Run Python Script,插入您的代码并点击OK。这会将您带到最后一个中间步骤,您必须在此处单击 Table

就是这样:

请注意Date 的数据类型已更改为日期格式。如果没有,您可以使用上面说明的右键单击下拉菜单轻松地再次更改它。

【讨论】:

以上是关于Power BI 中的 Python 脚本将日期返回为 Microsoft.OleDb.Date的主要内容,如果未能解决你的问题,请参考以下文章

Power BI Python 在Power BI Desktop中Python代码如何使用Power Query数据

在 Power BI 中使用 python 脚本操作 SQL 数据帧

使用 Python 在 Power BI 中过滤 Python Script Visual 中的数据

Power BI中有一列日期有多个是相同的,如何在表中的X轴上全部显示出来

使用 Python 获取文件夹中的数据以向 Power BI 提供 excel 文件

如何从power bi中的python函数返回单个数据帧