我正在使用python从Trello板上检索某些卡。这是我的代码:
import trello
from trello import TrelloClient
import datetime
from dateutil.parser import parse
import re
import pandas as pd
client = TrelloClient(
api_key=mykey,
api_secret=myapisecret,
token=mytoken)
start_date = '2019-10-23 09:00:00'
end_date = '2019-10-25 14:00:00'
date = []
description = []
tag = []
comment = []
card_name = []
username = []
all_boards = client.list_boards()
minutes_board = all_boards[1]
for lists in minutes_board.list_lists():
my_list = minutes_board.get_list(lists.id)
for card in my_list.list_cards():
for j in range(len(card.comments)):
comment_date = parse(card.comments[j]['date']).strftime("%Y-%m-%d %H:%M:%S")
if comment_date >= start_date and comment_date <= end_date:
text = card.comments[j]['data']['text']
除了卡片信息外,我还想从清单中获取站立物品并获取文字。我尝试了清单方法,但是我不知道如何从那里读取属性。
我尝试过:
for lists in minutes_board.list_lists():
my_list = minutes_board.get_list(lists.id)
for card in my_list.list_cards():
for cl in card.fetch_checklists():
print(cl)
cl看起来像这样:
<Checklist 5be2356788378207b77cf02a>
如何访问清单的信息?
谢谢。
答案 0 :(得分:2)
这是一个函数,它接受Trello板对象(例如您的minutes_board
),并输出类似JSON的对象。即dict
,以您的董事会名单的名称为键,而这些名单的值也都是字典,代表各自名单下的一张卡片。每张卡都由其卡id
键入密钥,并带有2个字段来表示其值:1)卡的标题/主题,以及2)包含该卡所有注释文本的Python列表。
def get_comment_texts(tboard):
board_content = {}
for ls in tboard.list_lists():
list_content = {}
for card in ls.list_cards():
card_info = {}
cid = card.id
card_info['title'] = card.name
comments = card.fetch_comments()
texts = []
for c in comments:
texts.append(c['data']['text'])
card_info['comments'] = texts
list_content[cid] = card_info
board_content[ls.name] = list_content
return board_content
然后,您可以使用类似Python的pprint
模块的方法来显示返回对象,以便于查看。
注意:我没有费心在创建日期进行过滤,我相信您应该能够自己弄清楚。但是如果您需要帮助,请告诉我。
答案 1 :(得分:1)
import trello
from trello import TrelloClient
import datetime
from dateutil.parser import parse
import re
import pandas as pd
client = TrelloClient(
api_key=mykey,
api_secret=myapisecret,
token=mytoken)
start_date = '2019-10-23 09:00:00'
end_date = '2019-10-25 14:00:00'
date = []
description = []
tag = []
comment = []
card_name = []
username = []
all_boards = client.list_boards()
minutes_board = all_boards[1]
for lists in minutes_board.list_lists():
my_list = minutes_board.get_list(lists.id)
for card in my_list.list_cards():
for cl in card.fetch_checklists():
for k in len(cl)
print(cl[k].items)
for j in range(len(card.comments)):
comment_date = parse(card.comments[j]['date']).strftime("%Y-%m-%d %H:%M:%S")
if comment_date >= start_date and comment_date <= end_date:
text = card.comments[j]['data']['text']
添加的代码是
for cl in card.fetch_checklists():
for k in len(cl)
print(cl[k].items)
cl[k].items
是带有诸如“名称”(检查项目的内容)之类的数据的列表。那就是我想要的。