Первый вопрос здесь, пожалуйста, простите за различные ошибки, которые я обязательно сделаю.
Я работал над этим некоторое время, и я признаюсь, что был поставлен в тупик - словари в общем смысле немного болят головой, так как мой опыт в большей степени связан со статистикой, где данные имеют довольно явную структуру. Я работаю в Python 2.7, и у меня есть следующая проблема: В конце некоторого анализа, используя пакет NetworkX, у меня есть два словаря, которые меня интересуют, которые я назову Able и Baker.
Каждый из них, по сути, является словарем имени сетевого узла и значения. Так что-то вроде:
Джо: 7 Кейт: 9 Майк: 3-и- Джо: 12 Кейт: 4 Майк: 2
Но этот вывод выйдет из Python, и хотя я мог бы довольно легко вывести все это в виде двух отдельных файлов (и было до сих пор), было бы очень здорово, чтобы он вышел в виде одного CSV-файла , отформатированный так:
Джо, 7, 12
Катя, 9, 4
Mike, 3, 2
Сейчас я запускаю следующее, чтобы объединить два словаря в один словарь:
output = dict((k, [Able[k], Baker.get(k)]) for k in Able)
output.update((k, [None, Baker[k]]) for k in Baker if k not in Able)
Это приближает меня к тому, что я хочу, а именно к словарю с Джо: [7, 12]. Но я, честно говоря, озадачен тем, как заставить писателя CSV сотрудничать и выводить [7,12] как отдельные объекты (т.е. 7,12), а не как части массива. Ближайшее, что я получил, это:
net_out = open('output.csv', 'w')
writer = csv.writer(net_out, dialect='excel')
for node, value in output.items():
writer.writerow([node,value])
net_out.close()
Который выпускает ряды Джо, [7,12]. Кто-нибудь может указать мне правильное направление?