【问题标题】:Python inside Power BIPower BI 中的 Python
【发布时间】:2022-10-14 00:07:39
【问题描述】:

下午好,伙计们。

我有一个 python 项目,它给我带来了一个国家的大陆。这是维基百科网站中的网络报废。如何将此作为 Power BI 中的新列应用,将国家/地区(在下面的示例中,“United_States”)变成一个参数,该参数将成为我的 Power BI 报告的国家/地区(国家/地区位于我的 BI 的第一列报告。)?

import requests
from bs4 import BeautifulSoup
url = "https://en.wikipedia.org/wiki/Geography_of_United_States"
soup = BeautifulSoup(requests.get(url).content, "html.parser")

continent = soup.select_one("th:-soup-contains(Continent) + td").text
print(continent)

【问题讨论】:

    标签: python powerbi


    【解决方案1】:

    如果要在 Power BI 中执行此操作,则应使用 Web.Contents 函数来抓取网页。 这是一个从维基百科页面获取 html 并对其进行解析的简单查询: let Source = Web.Contents("https://en.wikipedia.org/wiki/Geography_of_United_States"), Data = Json.Document(Source) in Data 然后,您可以使用 Power BI 的 Parsed HTML 功能来解析 HTML 并创建数据集。 如果您想使用 Python 来执行此操作,您应该使用 pandas 库将数据加载到 DataFrame 中,然后使用 to_csv() 函数将数据写入 CSV 文件。

    
    import requests
    from bs4 import BeautifulSoup
    import pandas as pd
    url = "https://en.wikipedia.org/wiki/Geography_of_United_States"
    soup = BeautifulSoup(requests.get(url).content, "html.parser")
    continent = soup.select_one("th:-soup-contains(Continent) + td").text
    print(continent)
    df = pd.DataFrame([continent])
    df.to_csv("continent.csv", index=False, header=False)
    
    

    如果要在 R 中执行此操作,则应使用 rvest 库来解析 HTML,然后使用 readr 库将数据读入数据框。

    library(rvest)
    library(readr)
    url <- "https://en.wikipedia.org/wiki/Geography_of_United_States"
    html <- read_html(url)
    continent <- html_nodes(html, "th:-soup-contains(Continent) + td") %>% html_text()
    df <- data.frame(continent)
    write_csv(df, "continent.csv")
    
    

    【讨论】:

      猜你喜欢
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多