如何将列表中的数据插入MySql数据库?

时间:2018-08-02 21:42:45

标签: python mysql

我已经使用Selenium + Python从网站上抓取了数据。 它将数据存储在列表中,并且在打印列表时看起来像:

for x in list:
   print(x.text)

输出:

status1
some.email@email
status2
another.email@email
//There are more than 3500 elements in list.

我想将数据推送到已经创建的MySQL表中。 MySQL表的理想布局为:

| ID  |  EMAIL             | STATUS  | TIMESTAMP          |
|-----|--------------------|---------|--------------------|
| 01  | some.email@email   | status1 | current Timestamp  |
| 02  | another.email@email| status2 | current Timestamp  |

//A lot of rows.....

我不知道使用Python连接数据库并推送数据的方法。我已经尝试过类似的操作,但是我无法做到这一点。

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword",
database="mydatabase"
)
for x in list:
sql = "UPDATE customers SET Status='x'"

先谢谢了。

1 个答案:

答案 0 :(得分:0)

首先,您需要安装pymsql,一旦安装了pymysql,便可以用以下方式配置连接:

import pymysql
import pymysql.cursors

your_host="localhost",
your_user="yourusername",
your_passwd="yourpassword",
your_database="mydatabase"
EMAIL="some.email@email"
STATUS="STATUS1"
YOUR_DATE="2018-08-03"

connection=pymysql.connect(host=your_host,port=3306,user=your_user,passwd=your_passwd,db=your_database)
cursor=connection.cursor(pymysql.cursors.DictCursor)
sql = "INSERT INTO YOUR_TABLE VALUES(ID,%s,%s,%s)"
cursor.execute(query, (EMAIL,STATUS,YOUR_DATE))
cursor.connection.commit()
cursor.close()

这是一个非常基本的示例,希望对您有所帮助。