Я импортирую данные json из github для класса, и когда я пытаюсь преобразовать их в словарь, значения не остаются в парах ключ-значение.
Вот импорт:
from pprint import pprint as pp
import base64
response = requests.get('https://api.github.com/repos/bsullins/data/contents/MonthlySales.csv')
response_json = json.loads(response.text)
csv_val = base64.b64decode(response_json['content'])
pp(csv_val)
Результат этого имеет исходные данные, хотя я не уверен, что такое разделители "\ r \ n".Ясно, что он не импортировался правильно, так как строки обрезались в разных точках, чем они должны были.
(b'month,sales\r\n2013-01-01,14236.9\r\n2013-02-01,4519.89\r\n2013-03-01,5569'
b'1.01\r\n2013-04-01,28295.35\r\n2013-05-01,23648.29\r\n2013-06-01,34595.13\r'
b'\n2013-07-01,33946.39\r\n2013-08-01,27909.47\r\n2013-09-01,81777.35\r\n2013'
b'-10-01,31453.39\r\n2013-11-01,78628.72\r\n2013-12-01,69545.62\r\n2014-01-0'
b'1,18174.08\r\n2014-02-01,11951.41\r\n2014-03-01,38726.25\r\n2014-04-01,341'
b'95.21\r\n2014-05-01,30131.69\r\n2014-06-01,24797.29\r\n2014-07-01,28765.33'
Когда я позже пытаюсь прочитать данные с помощью DictReader, он анализирует все по буквам:
import csv
csv_dict = csv.DictReader(str(csv_val))
dict_list = []
for a in csv_dict:
dict_list.append(a):
for a in dict_list:
print(a)
Вот результат:
OrderedDict([('b', "'")])
OrderedDict([('b', 'm')])
OrderedDict([('b', 'o')])
OrderedDict([('b', 'n')])
OrderedDict([('b', 't')])
OrderedDict([('b', 'h')])
OrderedDict([('b', ''), (None, [''])])
OrderedDict([('b', 's')])
OrderedDict([('b', 'a')])
OrderedDict([('b', 'l')])
OrderedDict([('b', 'e')])
OrderedDict([('b', 's')])
OrderedDict([('b', '\\')])
OrderedDict([('b', 'r')])
OrderedDict([('b', '\\')])
OrderedDict([('b', 'n')])
OrderedDict([('b', '2')])
OrderedDict([('b', '0')])
OrderedDict([('b', '1')])
OrderedDict([('b', '3')])
OrderedDict([('b', '-')])
OrderedDict([('b', '0')])
OrderedDict([('b', '1')])
OrderedDict([('b', '-')])
OrderedDict([('b', '0')])
OrderedDict([('b', '1')])
OrderedDict([('b', ''), (None, [''])])
OrderedDict([('b', '1')])
OrderedDict([('b', '4')])
OrderedDict([('b', '2')])
OrderedDict([('b', '3')])
OrderedDict([('b', '6')])
OrderedDict([('b', '.')])
OrderedDict([('b', '9')])
OrderedDict([('b', '\\')])
OrderedDict([('b', 'r')])
OrderedDict([('b', '\\')])
OrderedDict([('b', 'n')])
OrderedDict([('b', '2')])
OrderedDict([('b', '0')])
OrderedDict([('b', '1')])
OrderedDict([('b', '3')])
OrderedDict([('b', '-')])
OrderedDict([('b', '0')])
OrderedDict([('b', '2')])
OrderedDict([('b', '-')])
OrderedDict([('b', '0')])
OrderedDict([('b', '1')])
OrderedDict([('b', ''), (None, [''])])
OrderedDict([('b', '4')])
OrderedDict([('b', '5')])
OrderedDict([('b', '1')])
OrderedDict([('b', '9')])
OrderedDict([('b', '.')])
...