python - 从列表中制作 csv 文件
问题描述
我必须使用银行的数据制作简单的交换网络。我已经下载并存储在数据中。这是我的代码:
import requests
response = requests.get("http://api.nbp.pl/api/exchangerates/tables/C?format=json")
data = response.json()
现在的问题是如何从中获取“费率”列表并根据该列表制作一个 CSV 文件,如下所示:
[
{
"table": "C",
"no": "215/C/NBP/2021",
"tradingDate": "2021-11-04",
"effectiveDate": "2021-11-05",
"rates": [
{
"currency": "dolar amerykański",
"code": "USD",
"bid": 3.9437,
"ask": 4.0233
},
{
"currency": "dolar australijski",
"code": "AUD",
"bid": 2.9158,
"ask": 2.9748
},
{
"currency": "dolar kanadyjski",
"code": "CAD",
"bid": 3.1679,
"ask": 3.2319
},
# more here
]
}
]
我不知道怎么做。任何人都可以帮忙吗?
解决方案
import csv
import requests
response = requests.get("https://api.nbp.pl/api/exchangerates/tables/C?format=json")
data = response.json()
keys = data[0]["rates"][0].keys()
with open("out.csv", "w", newline="") as f:
dict_writer = csv.DictWriter(f, keys)
dict_writer.writeheader()
dict_writer.writerows(data[0]["rates"])
推荐阅读
- docker - Kubernetes 服务不会在 Pod 之间分发请求
- amazon-web-services - Cloudwatch 访问超过 5 次的用户数
- java - 显示重复项目的回收站视图
- sql - 使用 PostgreSQL 从数组中获取标签
- r - 下采样 R 时训练/测试样本不是随机的
- python - 为什么我的代码在 .py 文件中运行时可以工作,但在 Python 解释器中返回 SyntaxError?
- cql - cqlsh:错误:没有这样的选项:--request-timeout
- python - SyntaxError (Python Jupyter Notebook)
- regex - 在 VS Code 中查找缺少两个右括号中的一个的字段
- javascript - 从 JSON 数组中删除元素