首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据插入MySQL中的表中

将数据插入MySQL中的表中
EN

Stack Overflow用户
提问于 2022-08-18 05:00:07
回答 2查看 120关注 0票数 0

我从truecar.com中提取数据。这些信息包括不同汽车的价格和里程。现在,我想将这些信息插入到一个表中,但是我的代码无法创建一个表,只返回“价格”和“英里”,而不是它们的数字。我怎么才能解决这个问题?

这是我的代码:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
import mysql.connector
car=str(input())
ur='https://www.truecar.com/used-cars-for-sale/listings/'
url=ur+car
r=requests.get(url)
soup=BeautifulSoup(r.text,'html.parser')

data = []
for card in soup.select('[class="card-content vehicle-card-body order-3 vehicle-card-carousel-
body"]'):
price = card.select_one('[class="heading-3 margin-y-1 font-weight-bold"]').text

miles = card.select_one('div[class="d-flex w-100 justify-content-between"]').text

data.append({
    'price':price,
    'miles':miles
})
print(data)

cnx = mysql.connector.connect(user='root', password='',
                              host='127.0.0.1',
                              database='truecar')
cursor = cnx.cursor()
for price,miles in data:
     cursor.execute("INSERT INTO car VALUES(\'%s\',\'%s\')"%(price,miles))
     cnx.commit()
cnx.close()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-18 05:30:04

如果您只执行以下代码:

代码语言:javascript
复制
price = 10
miles = 20

data = []
data.append({
    'price':price,
    'miles':miles
})

for price, miles in data:
    print(price, miles)

控制台上的输出将是price miles。因此,您访问的不是字典的值,而是键。因此,您不将键写入数据库,而不是写入值。工作的是以下代码:

代码语言:javascript
复制
price = 10
miles = 20

data = []
data.append({
    'price':price,
    'miles':miles
})

for entry in data:
    print(entry["price"], entry["miles"])

我认为还应该考虑Saqib的回答,因为添加数据到数据库中的列会减少复杂软件中的bug。

票数 2
EN

Stack Overflow用户

发布于 2022-08-18 05:32:32

如果您的表中有数据库中的表,则必须使用:

代码语言:javascript
复制
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
   Mac', 'Mohan', 20, 'M', 2000
)

否则,需要创建新表,这意味着要执行以下操作:

代码语言:javascript
复制
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)

我的建议是使用奥姆库。请参考这篇文章发表在SQLModel上

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73397649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档