我对 python 和 API 比较陌生。基本上,我在 Wufoo 中有一个表单,我目前正在手动将数据从中导出到 excel 文档中,以便构建 Power BI 报告。我一直在尝试直接与 Wufoo 建立网络连接,因此我不再需要手动提取数据。
我尝试在 Power BI 中使用从 Web 获取数据并输入 URL:http://{subdomain}.wufoo.com/api/v3/forms/{identifier}/fields.{format}) 更新子域并使用表单的哈希作为标识符,并将格式设置为 json
但是得到一个错误:“(400): 您的请求已被拒绝。请通过 HTTPS 发出此请求。”
我在下面的 Python 中构建了一些代码(我使用的是 3.9.5 版),虽然我能够让它提取数据并在我的代码编辑器(Komodo Edit)中打印出来,但没有数据出现在航海家。我在这里做错了什么?
#!/usr/bin/python3
import urllib.request
import json
base_url = 'https://ewolford.wufoo.com/api/v3/'
username = 'API KEY'
password = 'password'
password_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, base_url, username, password)
handler = urllib.request.HTTPBasicAuthHandler(password_manager)
opener = urllib.request.build_opener(handler)
urllib.request.install_opener(opener)
response = urllib.request.urlopen(base_url+'forms/hash/entries.json?sort=EntryId&sortDirection=DESC')
data = json.load(response)
print(json.dumps(data, indent=4, sort_keys=True))
添加最后一行以打印 a pandas.dataframe
。来自微软文档。(强调我的):
Power BI Python 集成需要安装两个 Python 包:
熊猫。用于数据操作和分析的软件库。它提供了用于操作数值表和时间序列的数据结构和操作。您导入的数据必须在 pandas 数据框中。数据框是一种二维数据结构。例如,数据在行和列中以表格方式对齐。
import pandas as pd
{your code here}
data=json.load(response)
table=pd.DataFrame(data)
print(table)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句