首页 > 解决方案 > 在 python 中写入然后修改 CSV 文件

问题描述

我正在运行一个将火车信息保存到文本文件中的网络爬虫。此信息不断更新,因此我每分钟访问一次此页面(并立即保存所有信息)。

每列火车都有目的地(城市名称)、到期日和延迟时间(0 表示准时,-x 表示提前 x 分钟,x 表示迟到 x 分钟)。

延迟可以每分钟更新一次,发生这种情况时,我需要返回并编辑文件中的行,该行对应于发生更改的火车。我担心的主要问题是,无论我存储文件的格式如何,我都不确定如何返回并轻松识别正确的行(并找到正确的行,即使可能存在重复) ,因为这些信息都不是唯一标识行的。我想到了以下解决方案:

  1. 向其中的每一个添加一个行号(或 id,等等),并将它们存储在 python 的内部缓冲区中,然后通过这个数字识别行。
  2. 使用时间和位置通过某种算法创建一个唯一的 id,并使用它来标识列。
  3. 使用数据库(呃)

你认为哪一个是最好的,我应该采用什么格式才能做到最好?我在想.csv,但是除非有一个解析器可以按照“加载文件->查找第一个记录->将列[x]设置为某事->保存文件”的方式执行某些操作,否则我不确定是否有任何一点。

标签: pythoncsv

解决方案


SQLite 将是一个很好的选择。它是一种简单的基于文件的存储机制(如 CSV),但您可以使用 SQL 命令修改特定值,而无需重新写入整个文件。

https://www.sqlite.org/index.html


推荐阅读