Python:比较存储为字典值的日期

时间:2019-11-15 21:38:04

标签: python numpy dictionary calendar defaultdict

Data Structure for finding gaps in txt file (Python)

好的,我处理了上一个问题,想问一个后续问题,希望有人可以提供帮助。我需要在给定的文本文件中查找日期间隔。

我有一个像这样的数据集:

<ext...portfolio=""identifier1""...randominfo...randominfo...date=""19900101""...randominfo
<ext...portfolio=""identifier2""...randominfo...randominfo...date=""19900101""...randominfo
<ext...portfolio=""identifier3""...randominfo...randominfo...date=""19900101""...randominfo
<ext...portfolio=""identifier1""...randominfo...randominfo...date=""19900102""...randominfo
<ext...portfolio=""identifier2""...randominfo...randominfo...date=""19900102""...randominfo
<ext...portfolio=""identifier1""...randominfo...randominfo...date=""19900104""...randominfo

很明显,标识符1在19900101和19900104之间有一个间隙。我希望我的代码找到该间隙,并打印出具有该日期间隙(不包括工作日)的标识符列表。如有必要,我可以简单地得到一张列出所有差距的清单,并且可以手动找到周末。

下面的代码建立了我的字典,并吐出了类似的内容 标识符1:date1,date2,date3标识符2:date1等

我如何找到不包括周末的日期之间的差距?我正在考虑使用numpy的busday模块的想法,但是...我不确定如何在字典的值中使用它。我也接受其他方法。

import numpy as np
from collections import defaultdict

filepath = r'Cfilepath.txt)'
d = defaultdict(list)
list1 = []
list2 = []

with open(filepath, "r") as fp:
    for _ in range(6):
        next(fp)

    for line in fp:
        linenoq = line.replace('"', '')
        customer = linenoq.split('portfolio=')[-1].split(' t')[0]
        date = linenoq.split('date=')[-1].split()[0]
        list1 = [accountnumbers, tradedates]
        d[accountnumbers].append(tradedates)
    for key in d:

0 个答案:

没有答案