我一直在使用osmnx一個項目並試圖生成的類型的字典導出到使用Python 3使用下面的代碼CSV:轉換存儲爲一個字符串字典,以字節
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'
被生成字典的代碼是:
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計算的結果。簡而言之,它是從networkx多重圖形生成的計數。該代碼是長的,但其產生的最終的dict相關代碼是: '邊緣= non_self_loop_edges + self_loop_edges' 'edges_flat =列表(chain.from_iterable(邊緣))'' 計數=計數器(edges_flat)'' streets_per_node = {node:nodes [node]爲節點中的節點}' 邊緣是一個圖論的術語,在這種情況下,是指街道,節點是交叉點。完整的代碼從這裏的第330行開始:https://github.com/gboeing/osmnx/blob/master/osmnx/stats.py –