如何解决用于根据python中的指定日期在azure容器中定位数据的函数
我在azure上有一个容器,以这种格式将json文件保存在目录中:
['machine_name/machine/Year/Month/machine_YearMonthDay_00.json']
。这些文件是根据创建时所用的Year Month
和Day
命名的。
例如,如果我们有一个今天创建的json文件,它将以以下形式保存在容器的目录中:machine_name/machine/2020/**08**/machine_**20200822**_00.json
另一个示例,如果我们有一个在 9月2日创建的json文件,它将保存在容器的目录中:machine_name/machine/2020/**09**/machine_**20200902**_00.json
这里的真正问题是能够编写一个函数,该函数根据指定的日期列出不同月份的所有json文件。这是我编写的代码示例:
def specified_dates(startdate,enddate):
container = ContainerClient.from_container_url(SAS_URI)
blob_root = f"{'machine_name'}/{'machine'}/{startdate.split('/')[2]}/{startdate.split('/')[0]}/"
blob_list_month = [blob.name for blob in container.list_blobs(name_starts_with=blob_root)]
blob_list= [blobname for blobname in list_dates if int(blobname.split('/')[-1].split('_')[1][-2:])>=int(startdate.split('/')[1])
and int(blobname.split('/')[-1].split('_')[1][-2:])<= int(enddate.split('/')[1])]
display(blob_list)
specified_dates('07/26/2020','07/29/2020')
到目前为止,我尝试的是在同一个月内 列出所有数据。在这种情况下,它将基于Month 07
中的给定日期列出所有json文件。
我得到的结果如下:
['machine_name/machine/2020/07/machine_20200726_00.json','machine_name/machine/2020/07/machine_20200727_00.json','machine_name/machine/2020/07/machine_20200728_00.json','machine_name/machine/2020/07/machine_20200729_00.json']
但是我需要能够基于不同月份列出所有json文件。因此,例如,如果我需要列出从 07/29/2020
到 08/02/2020
的所有json文件,则预期结果应为以下内容:
['machine_name/machine/2020/07/machine_20200729_00.json','machine_name/machine/2020/07/machine_20200730_00.json','machine_name/machine/2020/07/machine_20200731_00.json','machine_name/machine/2020/08/machine_20200801_00.json','machine_name/machine/2020/08/machine_20200802_00.json']
我应该如何修改代码以便从容器中访问不同的月份?如果有人可以给我答案,我将不胜感激。
解决方法
您可以使用这样的解决方案:首先,列出容器中的所有文件->然后从文件中获取日期(例如20200729)->最后,将日期与开始/结束日期进行比较。
这是示例代码,请随时对其进行修改以满足您的需求:
$("#dropdown-list-item1").click(function() {
$("#dropdown-value").val("Item1");
$("#dropdown-button-label").text("Item1");
$("#dropdown-list").hide();
$("#dropdown-list-item1").addClass("active");
$("#dropdown-list-item2").removeClass("active");
$("#dropdown-list-item3").removeClass("active");
$("#dropdown-list-item4").removeClass("active");
$("#dropdown-list-item5").removeClass("active");
$("#dropdown-list-item6").removeClass("active");
$("#dropdown-list-item7").removeClass("active");
$("#dropdown-list-item8").removeClass("active");
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。