存储定时数据和事后绘图的最佳策略?

2024-04-16 06:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过转换我的一个粗糙的bash脚本来学习Python。 它每5分钟运行一次,基本上执行以下操作:

  1. 通过.csv文件逐行循环,获取第一个元素($URL
  2. 使用wget获取$URL,并从页面中提取$price
  3. $price添加到.csv文件中同一行的末尾
  4. 继续为其余行循环

我用它来跟踪易趣和类似网站上的产品价格。当发现较低的价格时,它会通知我,并用产品的价格历史记录绘制图表

很简单,我可以在Python中复制算法,但是,在我尝试学习的过程中,似乎有几种类型的对象(列表、dict等)可以更有效地进行存储。我的计划是使用Begging中的pickle甚至是一个简单的DB解决方案(如数据集),而不是乱搞.csv文件,通过粗略的字符串操作提取数据

我还想做的一个改进是将每次回迁的绝对时间与其价格一起存储,这样我就可以绘制一个“真正计时”的图表,而不是假设每个周期彼此相隔5分钟(从来都不是这样)


因此,我的问题是

假设我需要使用以下数据结构:

  • 产品清单,每个产品及其各自的
    • URL
    • 及其时间列表<-&燃气轮机;价格对

在Python中,这样做的最佳策略是什么?我应该使用字典、列表、集合,或者甚至为产品创建自定义类吗


Tags: 文件csv数据脚本bashurl元素列表
1条回答
网友
1楼 · 发布于 2024-04-16 06:26:15

首先,如果您计划访问包含特定URL的URL-(时间、价格)的数据结构,请使用字典,因为URL是唯一的(URL将是字典中的键)

否则,您可以保留(URL,(time,Price))元组的列表

其次,一个(时间、价格)元组列表,因为您不需要对它们进行排序(它们将按照插入它们的方式进行排序)

{}-字典 []-列表 ()-元组 备选案文1: [(网址,[(时间,价格)])]

备选案文2: {URL,[(时间、价格)]}

相关问题 更多 >