python - 如何以直观的方式格式化使用请求库下载的 CSV 数据?
问题描述
我有这段代码用来从网站中提取数据:
import csv
import requests
url = 'https://covid-19.dataflowkit.com/v1'
response = requests.get(url)
with open('covid.csv', 'w') as f:
writer = csv.writer(f)
for line in response.iter_lines():
writer.writerows(line.decode('utf-8').split(','))
我能够在 CSV 文件中获取数据,但格式错误且令人困惑。
如何在 CSV 文件中以有意义的方式格式化输出?
或者如何将此结果/数据插入 SQL Server 中的表中?
解决方案
响应是一个 json。我会说响应本身是以适当的方式提出的。
import requests
import pandas as pd
url = 'https://covid-19.dataflowkit.com/v1'
response = requests.get(url)
df = pd.DataFrame(response.json())
df.to_csv("data.csv", index=False)
csv 是什么样子的?
Active Cases_text Country_text Last Update New Cases_text New Deaths_text Total Cases_text Total Deaths_text Total Recovered_text
0 4,871,695 World 2020-07-12 20:16 +175,247 +3,530 13,008,752 570,564 7,566,493
1 1,757,520 USA 2020-07-12 20:16 +52,144 +331 3,407,790 137,733 1,512,537
2 579,069 Brazil 2020-07-12 19:16 +23,869 +608 1,864,681 72,100 1,213,512
3 301,850 India 2020-07-12 19:16 +29,108 +500 879,466 23,187 554,429
4 214,766 Russia 2020-07-12 20:16 +6,615 +130 727,162 11,335 501,061
.. ... ... ... ... ... ... ... ...
212 0 Caribbean Netherlands NaN 7 7
213 0 St. Barth NaN 6 6
214 0 Anguilla NaN 3 3
215 1 Saint Pierre Miquelon NaN 2 1
如果您想从数据中提取含义,那么我建议您分析 pandas 数据框上的数据
如果要分析数据库中的数据,请使用此答案 - https://stackoverflow.com/a/25662997/6849682 for sql server
推荐阅读
- c - 如何将 64 位地址 mmap() 转换为 32 位进程?
- laravel - 抛出 ErrorException 并显示消息“尝试获取非对象的属性‘用户’
- c++ - 使用限定名称的部分专业化
- javascript - 在特定日期和时间更改 CSS 类/ID
- java - Spring Boot Hello World 示例不工作
- excel - 列Excel中的不同计数逗号分隔值
- r - 如何将相同的函数应用于列表 R 中所有电子表格的第一列?
- javascript - Webpack devserver 客户端轮询 URL 与 Webpack devServer.public 设置不匹配
- terraform - terraform aws_lb_listener_rule 条件
- node.js - 尝试连接到 Mongo DB 时出现 Mongoose 错误