Мои словари, содержащие имена персонажей и их смещения, выглядят так:
{'Amestris': [(2247, 2255)],
'Beda': [(3266, 3270)],
'Fuery': [(2285, 2290),
(2380, 2385),
(2686, 2691),
(2723, 2728),
'Gloria': [(1565, 1571)],
'Hawkeye': [(22, 29),
(832, 839),
(999, 1006),
(1119, 1126),
(1927, 1934),
(3007, 3014),
(4068, 4075)]}
Мой желаемый вывод - ключи словаря (имена символов).
Кроме того, в первом столбце должны быть перечислены имена символов в качестве их идентификаторов, начиная с 0
.
CSV-файл с разделителями табуляции должен выглядеть следующим образом:
Id Label
0 Amestris
1 Beda
2 Fuery
3 Gloria
4 Hawkeye
Пока я достиг этой точки:
import csv
import pickle
exmen = pickle.load(open("exmen.p", "rb"))
with open('mycsvfile.csv', 'w') as f:
i = 0
fieldnames = ['Id', 'Label']
w = csv.writer(f, delimiter=' ', fieldnames=fieldnames)
w.writeheader()
w.writerow(i(dict(fieldnames, (key))) for key in exmen)
Я получаю это сообщение об ошибке:
line 28, in <module>
w = csv.writer(f, delimiter=' ', fieldnames=fieldnames)
TypeError: 'fieldnames' is an invalid keyword argument for this function
Я не уверен, как включить заголовки Id
и Label
, кроме использования fieldnames
и как реализовать перечисление строк, здесь я попытался применить i = 0
и попытался найти где-нибудь в последняя строка для применения i += 1
, но она выдала мне предупреждение об ошибке syntax error
Есть идеи по улучшению кода?
Заранее спасибо!