Pandas Trello JSON в XLS - как добавить и сгладить объекты контрольного списка? - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно преобразовать JSON экспорт Trello в XLS. Я нашел эту элегантную реализацию с Pandas. Он создает таблицу карточек и выравнивает метки карточек в виде списка, разделенного запятыми, в одну ячейку.

import simplejson
import pandas as pd
json_data = open('treelloin.json').read()
json_data = '['+ json_data + ']'
data = simplejson.loads(json_data)
json_data = simplejson.dumps(data[0]['cards'])
df = pd.read_json(json_data)
df["labels"] = df["labels"].apply(lambda cell: [row['name'] for row in cell])
df.drop([u'attachments', u'badges', u'checkItemStates', u'closed', \
       u'desc', u'descData', u'due', u'dueComplete',\
       u'email', u'idAttachmentCover', u'idBoard', u'idChecklists', \
       u'idLabels', u'idList', u'idMembers', u'idMembersVoted', u'idShort'\
       , u'manualCoverAttachment', u'pluginData', u'pos',\
        u'shortLink', u'subscribed', u'url'],inplace=True,axis=1)
df.to_excel('cards.xlsx')

Источник: https://gist.github.com/ricardocabral/a8fbdea76dbae646df726686b5589604

Пример Trello JSON с несколькими карточками и контрольными списками: https://pastebin.com/NuRF26Ez

Как мне добавить в него данные контрольных списков? Идеальным решением было бы создать два столбца: CheckedChecklistItems, UnCheckedChecklistItems и поместить туда список элементов контрольных списков из всех контрольных списков на карточке аналогично тому, как это делается с помощью этикеток.

Это должно быть легко сделать с Pandas. Кто-нибудь может мне подсказать - как? Например, несколько объединений по идентификаторам CheckList и CheckListItem или что-то в этом роде.

Ожидаемый результат в формате CSV (см. Два столбца, добавленные мной в конце)

Pastebin CSV: https://pastebin.com/T3MGNJjT Файл для удобства: https://gofile.io/d/XPTrb4

Исходная плата Trello для справки: https://trello.com/b/qBtTwPDN/test-board

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...