Я использую osmnx для проекта и попытался экспортировать полученную dicts в CSV, используя Python 3, используя следующий код:Преобразование Dict хранится в виде строки в байтах
with open('dict.csv', 'wb') as csv_file:
writer = csv.writer(csv_file)
for key, value in mydict.items():
writer.writerow([key, value])
К сожалению, я получаю ошибка:
a bytes-like object is required, not 'str'
код, который генерации Dict является:
mydict = {num:list(streets_per_node.values()).count(num) for num in range(max(streets_per_node.values()) + 1)}
Я попытался чтобы выследить решение, но я боюсь, что либо ответ слишком простой, либо слишком необычный, чтобы найти в типичных учебниках.
Что такое 'streets_per_node.values ()'? – MooingRawr
@MooingRawr Это результат серии вычислений osmnx. Короче говоря, это счет, сгенерированный с помощью multicigraph сети. Код длинный, но уместный код, который генерирует окончательный Dict является: 'ребро = non_self_loop_edges + self_loop_edges' ' edges_flat = список (chain.from_iterable (ребра)) '' отсчетов = Счетчик (edges_flat) '' street_per_node = {node: counts [node] для узла в узлах} ' Края - это термин теории графов, который в этом случае относится к улицам, а узлы - это пересечения. Полный код начинается в строке 330 здесь: https://github.com/gboeing/osmnx/blob/master/osmnx/stats.py –