Pandas Trello JSON to XLS - 如何添加和展平清单对象?



我需要将 Trello 的 JSON 导出转换为 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,并以类似于标签的方式将所有清单中的清单项目列表放在卡片中。

用熊猫应该很容易做到。谁能给我一个提示 - 如何?比如清单和清单项 ID 上的几个联接,或者类似的东西。

CSV格式的预期输出(请参阅我最后添加的两列(

帕斯特宾 CSV: https://pastebin.com/T3MGNJjT 为方便起见,文件:https://gofile.io/d/XPTrb4

供参考的 Trello 板源: https://trello.com/b/qBtTwPDN/test-board

Trello的JSON是具有复杂结构的一对多数据结构。您需要定制DataFrame才能从不同级别收集数据。

我在 github 上制作了一个存储库,可以帮助您弄清楚如何进一步进行: trello_json_to_csv GitHub 上的示例

最新更新