如何将数据从列表插入mysql数据库?

xyhw6mcr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(468)

我使用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'"

提前谢谢。

polkgigr

polkgigr1#

首先需要安装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()

这是一个很基本的例子,希望能对你有所帮助。

相关问题