Как интуитивно понятно отформатировать данные CSV, загруженные с помощью библиотеки запросов? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть этот код, который я использую для извлечения данных с сайта:

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 сервере?

1 Ответ

1 голос
/ 13 июля 2020

Ответ: 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 фрейме данных

Если вы хотите проанализировать данные в базе данных, используйте этот ответ - { ссылка } для sql сервера

...