存储定时数据和后续绘图的最佳策略是什么?

时间:2017-10-02 13:08:01

标签: python bash datetime plot storing-data

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

  1. 通过 .csv 文件逐行循环,抓取第一个元素( $ URL ),
  2. 使用wget获取 $ URL 并从页面中提取 $ price
  3. $ price 添加到 .csv 文件中同一行的末尾,
  4. 继续循环其余的行。
  5. 我用它来跟踪eBay和类似网站上的产品价格。它会在找到较低价格时通知我,并绘制包含产品价格历史记录的图表。

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

    我还想做的一项改进是将每次获取的绝对时间与其价格一起存储,因此我可以绘制一个" true timed"图,而不是假设每个周期彼此相距5分钟(从未如此)。

    因此,我的问题总结为......

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

    • 产品清单,每个产品都有各自的产品
      • 网址
      • 及其时间< - >价格对
      • 的列表

    Python的最佳策略是什么? 我应该使用字典,列表,集合还是甚至可以为产品创建自定义类?

1 个答案:

答案 0 :(得分:0)

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

否则你可以保留(URL,(时间,价格))元组的列表。

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

{} - 字典 [] - 列表 () - 元组 选项1: [(URL,[(时间,价格)])]

选项2: {URL,[(时间,价格)]}