我正在使用python从excel文件中选择某些值。我正在使用xlrd库和openpyxl库来执行此操作。
我们应该运行python程序的方式是:
下一步...
查看行中N列(lastExecTime)的值,并将该时间与M列中的以下值进行比较
如果看到时间重叠(列M小于前一个N值),它将增加一个名为“count”的变量。 Count存储过程重叠的次数。
...最后
我遇到的问题是我无法配对卡片任务中的数据
以下是Excel数据的示例:
这是更多数据的图片(这可能会更有帮助) Click here for it
以下是我编写的代码,告诉我是否有多个程序在进行:
from openpyxl import load_workbook
book = load_workbook('LearnerSummaryNoFormat.xlsx')
sheet = book['Sheet1']
for row in sheet.rows:
if ((row[4].value[:9]) != 'Card Task'):
print ("Is not a card task: " + str(row[1].value))
基本上我的问题是我无法将一个卡片任务中的所有值相互比较。
块引用
答案 0 :(得分:0)
我会像你已经读过一次数据但是将所有行与'Card Task'存储在一个单独的列表中。一旦您有一个只有卡任务项的列表,您可以比较。
card_task_row_object_list = []
count = 0
for row in sheet.rows:
if 'Card Task' in row[4]:
card_task_row_object_list.append(row)
从这里你想比较时间值。如果两个不同的卡任务时间重叠,您需要检查什么?
(第12行:开始,第13行:结束)
def compare_times(card_task_row_object_list):
for row in card_task_row_object_list:
for comparison_row in card_task_row_object_list:
if (comparison_row[12] <= row[13] && comparison_row[13] >= row[12])
# No overlap
else
count+=1