【发布时间】:2022-01-15 08:24:35
【问题描述】:
我正在尝试从对象列表中获取属性并使用结果创建一个数据框...以下过程在大多数情况下都有效,但它似乎效率低下且不合适。有没有另一种不需要这么多代码行的方法?
下面,我正在为每一列创建空白列表,从对象中获取一个属性,将其附加到适当的列表中,创建一个空白数据框,并将列表映射到列。我希望以某种方式创建一个循环或使用字典或一次抓取多个列或其他东西
对象格式:https://developers.asana.com/docs/tasks
gids = []
task_names = []
custom_fields = [] #status, workstream, subworkstream
custom_values = []
types = []
due_dates = []
portfolios = []
projects = []
sections = []
section_dates = []
assignees = []
parents = []
releases = []
tags = []
task_list = []
tasks = client.tasks.get_tasks_for_project(project, {'param': 'value', 'param': 'value'}, opt_pretty=True)
for x in tasks:
task_list.append(x['gid'])
for task in task_list:
t = client.tasks.get_task(task, {'param': 'value', 'param': 'value'}, opt_pretty=True)
try:
gids.append(t['gid'])
task_names.append(t['name'])
types.append(t['resource_subtype'])
due_dates.append(t['due_on'])
parents.append(t['parent']['name'])
except:
gids.append('None')
task_names.append('None')
types.append('None')
due_dates.append('None')
parents.append('None')
pass
task_df = pd.DataFrame()
task_df['ID'] = gids
task_df['Task'] = task_names
task_df['Type'] = types
task_df['Due Date'] = due_dates
task_df['Parent'] = parents
【问题讨论】:
标签: python python-3.x pandas dataframe