У меня есть образец данных, который я хотел бы вывести в файл CSV. Структура данных представляет собой вложенный список различных немецких терминов (dict) и соответствующих возможных английских переводов (list
):
all_terms = [{'Motor': ['engine', 'motor']},
{'Ziel': ['purpose', 'goal', 'aim', 'destination']}]
Как видите, один немецкий термин может содержать переменные количества английских переводов. Я хочу вывести каждый немецкий термин и каждый из его соответствующих переводов в отдельные столбцы в одной строке, поэтому "Motor"
находится в столбце 1, "engine"
в столбце 2 и "motor"
в столбце 3.
См. Пример:
Я просто не знаю, как правильно перебирать данные.
Пока что мой код для вывода:
with open(filename, 'a') as csv_file:
writer = csv.writer(csv_file)
# The for loop
for x in all_terms:
for i in x:
for num in i:
writer.writerow([i, x[i][num]])
Но эта ошибка выбрасывается:
writer.writerow([i, x[i][num]]) TypeError: list indices must be integers, not unicode
Любая подсказка приветствуется, и, возможно, есть даже более умный способ, чем 3, вложенные в циклы.