У меня есть словарь python (nested
), из которого я хочу создать таблицу (а затем csv file
). Проблема в том, что если значение является int, оно не будет добавлено в таблицу «table». Он даже не просматривает остальные заявления elif/if
.Вложенный словарь wont print ints
Я пытаюсь составить список (таблицу), который будет иметь все значения и ключи, если словарь.
table = []
def indict(d):
for (k, v) in d.items():
def indict(d):
for (k, v) in d.items():
if isinstance(v, dict):
table.append([str(k) + ":"])
indict(v)
print "another dictionary "
elif type(v) == list:
table.append([str(k),"list"])
print "appended as list"
elif type(v) != unicode and type(v) != list:
print v
v = str(v)
print v + " converted"
#print d[i]
else:
table.append([str(k), v])
print "simply value"
Вот пример словаря:
{u'city': {u'uname': u'london', u'id': 1, u'name': u'London'}, u'notice': u'', u'neighborhood': {u'uname': u'papaya-tree', u'id': 5, u'name': u'Papaya Tree'},....
это не append'id», ни 1.
Почему вы организовали ветку с «не unicode, dict или list», затем «dict», затем «list», затем «все остальное?». Я думаю, что было бы гораздо более ясно, как «dict», затем «list», затем «unicode», затем «все остальное». – TigerhawkT3
@ K.B что именно вы пытаетесь достичь здесь? Каков ваш ожидаемый результат? –
Я думаю, он хочет «сгладить» dict в список кортежей ... – labheshr