【问题标题】:Use Python script to create new table from current dataset in PowerBI使用 Python 脚本从 PowerBI 中的当前数据集创建新表
【发布时间】:2021-06-05 07:28:32
【问题描述】:

我有一个 csv 文件作为源数据集。目前在表中有一个列,我想使用 Python 循环并从每个单元格中的字符串中提取数据。例如,在单元格中:

“数量变化10,价格变化90。”

我想使用 Python 并提取“数量、价格”和“10、90”来创建具有这些属性和值的新表。然后使用 PowerBI Visual 创建视觉对象,而不是使用 Python 视觉对象。我该怎么做?这可能吗?

编辑:由于所有的混乱,我正在添加我正在使用的列的屏幕截图。

我想遍历属性列中的所有行,获取每个单元格中的数据,然后提取它们以创建一个新表。例如,在这种情况下,新表将如下所示:

属性 |价值 未连接高度 | -2800 面积 | -39.883

关于代码,我什么都没有,只有基础 Python sn-p PowerBI 创建:

# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script: 

# dataset = pandas.DataFrame(Properties)
# dataset = dataset.drop_duplicates()

# Paste or type your script code here:

所以 PowerBI 使用 pandas 和 matplotlib 来获取数据和绘制数据。但我只想获取数据并作为新表输出。 如果不能使用 Python,有没有办法使用 Query?

【问题讨论】:

  • 您应该发布您拥有的任何代码,尤其是“创建新表”。我假设您想用数量和价格列来扩充现有数据(并且可能要删除包含数量和价格字符串的列),但不清楚您想要什么。
  • 我是 PowerBI Python 的新手,所以我还没有代码。我将用表格编辑问题。很抱歉造成混乱。
  • 所以属性列可以包含任何不可预测的格式?例如。 “数量变 10,价格变 90。”可以像我在答案中显示的那样进行解析,但是相同的代码将无法解析屏幕截图中显示的数据。您需要澄清这一点,并显示属性列的所有可能格式的示例,否则无法提供建议。向现有数据框中添加新列是可能的,但问题似乎在于可靠地解析数据。
  • 上面提到的指定单元格中的数据是字符串,所以你发布的代码仍然有效。我唯一要寻找的是实际获取表格中单元格中的数据,然后创建一个新表格并将提取的数据放入其中。编辑:对不起,我很困惑。是的,格式是不可预测的。一个单元格可以是 2 个东西,另一个是 3、4 个等等。但最后我只需要所有这些东西的列表,所以格式无关紧要。
  • 不,我发布的代码不适用于不同的字符串格式。我对 Power BI 的了解还不够,无法进一步帮助您。

标签: python powerbi powerbi-datasource


【解决方案1】:

如果数据遵循相同的格式,则从列中提取数据相当容易:

s = "Quantity changed by 10, Price changed by 90."
l, sep, r = s.partition(',')
if sep:
    quantity = int(l.split()[-1])
    price = int(r.split()[-1][:-1])
    print(quantity, price)

#10 90

单元格中包含的字符串用逗号分隔以分隔数量和价格字符串,然后处理每个字符串以提取值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2019-02-10
    • 2011-11-22
    • 2012-02-14
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    相关资源
    最近更新 更多