如何使用BeautifulSoup在数据库中保存信息

时间:2013-11-30 19:46:10

标签: python database python-2.7 beautifulsoup mysql-python

我正在获取特定事物的不同信息,并且我将这些信息存储在字典中

e.g。 {property1:val , property2:val, property3:val}

现在我有几个这种类型的字典(因为我得到很多东西..每个字典都是为了一件事)

现在我想在DB中保存信息,这样就可以在字典中使用与key:value对一样多的列

那么最好或最简单的方法是什么。

请提供执行此操作的所有步骤(我的意思是在DB中登录,将数据推入行或执行sql查询等语法...我希望不会超过4或5个步骤)

PS:所有词典都具有相同的键,每个键始终具有相同的值类型。并且还预定了列数。

4 个答案:

答案 0 :(得分:2)

对于MYSQL,您必须事先知道需要多少列。 停止使用MySQL。使用一些NoSQL数据库。它通常更简单。

尝试MongoDBCouchDB

答案 1 :(得分:0)

如果您的词典都具有相同的键,并且每个键总是具有相同的值类型,那么将它映射到像MySQL这样的关系数据库是非常简单的。

或者,您可以将字典转换为对象,并使用像SQLAlchemy这样的ORM来执行后端工作。

答案 2 :(得分:0)

你做错了!

创建一个表示数据库中一行的对象,使用__getitem__假装它是一个字典。

将数据库逻辑放入其中。

除非你的表没有相关性,否则不要去所有noSQL。只是作为表格,它们是SQL的理想选择!

答案 3 :(得分:0)

Pyodbc是一个很好的小模块,提供广泛的数据库可能性。我不确定您的确切需求,因此它可能实际上对您当前的情况有些过分,但为我提供了一种连接到SQL Express数据库的有用方法。

import pyodbc
connection = pyodbc.connect('Driver={SQL Server};Server=.\sqlexpress;Database=DB;Trusted_Connection=yes')
cursor = connection.cursor()
cursor.execute("Alter table Dict add property1 [datatype])
cursor.commit()
cursor.close()

如果表格已经存在,您可以创建该表格,然后为每个dict对更改表格并添加该列并根据需要插入值。