将此 Smartsheet 数据放入 DataFrame 中的合乎逻辑的方法是什么?
What would be a logical way to put this Smartsheet data in a DataFrame?
我的目标是使用 Smartsheet API 获取结构如下所示的数据并将其放置在 pandas.DataFrame 对象中。问题是数据有多个层,创建了不一致的层次结构。
Task | Finish Date | Complete?
---------------------------------------------------------
- Big Task #1 | 09/05/19 | N
Subtask #1 | 09/04/19 | Y
- Subtask #2 | 09/04/19 | N
- Even Smaller Task #1 | 09/02/19 | N
An Even Smaller Task | 09/02/19 | Y
Even Smaller Task #2 | | Y
Subtask #3 | 09/01/19 | N
- Big Task #1 | 09/12/19 | Y
Subtask #1 | | Y
我知道 pandas' MultiIndex class,但最大的困难是弄清楚如何将数据组织成可接受的参数输入。
Smartsheet API 在单元格对象中有一个有用的 "parentid" 值,告诉我 "Subtask #2" 是 "Even Smaller Task #1" 的父级。但是,它仅提供直接父单元格。我知道如何找到特定单元格的 "root task",但将结果组织成表格 DataFrame 是我最大的挑战。
不过,这是一个有趣的挑战!有没有人遇到过类似的问题或者有什么想法?
您可以考虑通过 sheet 的层次结构来了解有多少级别,然后为这些级别创建额外的列。然后在任务数据的相应栏中填写数据。它可能与此类似:
Parent | Child | Grand-Child |
------------------------------
Task | Sub-task | Next sub-task |
或者您可以将所有 Task
值列在一列中,然后添加另一列以提供数据集中的行号,如果它们有父项,则与它们相关。
我的目标是使用 Smartsheet API 获取结构如下所示的数据并将其放置在 pandas.DataFrame 对象中。问题是数据有多个层,创建了不一致的层次结构。
Task | Finish Date | Complete?
---------------------------------------------------------
- Big Task #1 | 09/05/19 | N
Subtask #1 | 09/04/19 | Y
- Subtask #2 | 09/04/19 | N
- Even Smaller Task #1 | 09/02/19 | N
An Even Smaller Task | 09/02/19 | Y
Even Smaller Task #2 | | Y
Subtask #3 | 09/01/19 | N
- Big Task #1 | 09/12/19 | Y
Subtask #1 | | Y
我知道 pandas' MultiIndex class,但最大的困难是弄清楚如何将数据组织成可接受的参数输入。
Smartsheet API 在单元格对象中有一个有用的 "parentid" 值,告诉我 "Subtask #2" 是 "Even Smaller Task #1" 的父级。但是,它仅提供直接父单元格。我知道如何找到特定单元格的 "root task",但将结果组织成表格 DataFrame 是我最大的挑战。
不过,这是一个有趣的挑战!有没有人遇到过类似的问题或者有什么想法?
您可以考虑通过 sheet 的层次结构来了解有多少级别,然后为这些级别创建额外的列。然后在任务数据的相应栏中填写数据。它可能与此类似:
Parent | Child | Grand-Child |
------------------------------
Task | Sub-task | Next sub-task |
或者您可以将所有 Task
值列在一列中,然后添加另一列以提供数据集中的行号,如果它们有父项,则与它们相关。