如果我想构建自定义数据库,我该怎么办?

时间:2011-04-28 18:21:33

标签: python database

我构建了一个先前的程序,它接收客户端信息并将其存储在txt文件的文件夹中(不切实际),但现在我想升级程序以提高效率并将信息放入某种类型的数据库中......

如何从文本文件中获取信息并将其添加到新数据库,而无需手动执行每个文件。我知道这是模糊的,但我需要更多的方法/逻辑而不是确切的代码,如果我不使用SQL,那么另一种方法是制作数据库(不使用其他商业Db)

btw txt文件的格式简单(名称,城市,年龄)都在不同的行上,以便于迭代

5 个答案:

答案 0 :(得分:3)

标准库中的免费可移植Python shelve模块可能就是您所需要的。它允许您创建和使用基本上持久的词典,因此有一个非常渐进的学习曲线。将文本文件转换为一个应该相当容易,虽然不会是自动的 - 您可能需要编写一个简单的脚本来执行此操作。

答案 1 :(得分:2)

好吧,您可以使用csv module in Python阅读 txt *文件。

我担心SQL的知识对于任何类型的数据库操作都是必须,除非你感到舒服ORM eg. Django's ORM

*除了Windows之外,它们不会被称为。

答案 2 :(得分:2)

我只是获取所有* .txt文件的列表是使用os.listdir()的目录,然后读取并解析所有这些文件,最后将所有信息放在某个“数据库”中。 Python几乎没有这种“数据库”模块

答案 3 :(得分:1)

除了上面的建议之外,请看一下Elixir,它是SQLAlchemy的抽象层,它使构建数据库接口(以及插入/查询信息)变得相当简单。

答案 4 :(得分:0)

DB拥有SQL的主要原因是使它与您正在开发的应用程序分离和通用。

要构建自己的数据库,您需要有一个存储机制,可能是硬盘上的文件,带有搜索选项,以便您可以使用您感兴趣的关键字立即访问数据。除此之外,您必须拥有一个启动队列,读取它们并转换为较低文件读写功能的层。您需要拥有此队列层,因为假设您有100个应用程序,并且所有应用程序都在尝试同时从同一个文件读取和写入,您可以想象文件会发生什么。将有访问被拒绝,有人使用它,数据被破坏等等。所以你需要把所有这些放在队列中,让这个队列层为你翻译。

首先从不同的方式读取/写入/排序数据到文件和队列层。从那里你可以构建应用程序。

此处的队列层类似于尝试将数据推送到大多数可用数据库中的通信端口的客户端。