使用python在数据库中存储动态列表/数组

2024-09-29 23:30:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python从网上抓取一些数据,把数组存储在变量里,现在想动态地存储在数据库里,我怎么做呢,我是python的初学者,也是个新手,下面是代码

car_version = [item.find(class_='version-name').get_text() for item in cars]

car_price = [item.find(class_='version-price generic-green').get_text() for item in cars]

print(car_version)
print(car_price)

print命令的输出如下

['Honda Accord 2.4 i-VTEC Prosmatec', 'Honda City i-VTEC', 'Honda Civic VTi 1.8 i-VTEC']

['PKR 14,500,000', 'PKR 27,500,000', 'PKR 32,500,000']
sql = """CREATE TABLE MARKETRATE (
                 id INT AUTO_INCREMENT PRIMARY KEY,
                 carName VARCHAR(255),
                 carPrice VARCHAR(255)
                 )"""
mycursor.execute(sql)

sql1 = "INSERT INTO MARKETRATE(carName, carPrice) VALUES (%s, %s)"
val = [ (car_version, car_price)]

   mycursor.execute(sql1, val)
   print('inserted')
mydb.close()

如何使用python存储数组? 我需要帮助


Tags: textinforgetversion数组finditem
1条回答
网友
1楼 · 发布于 2024-09-29 23:30:45

要将数据输入数据库以便有四行,需要将两个列表一起zip,然后将sql语句和压缩的值传递给游标的executemany方法。压缩这两个列表将创建(version,price)tuples的iterableexecutemany将为每一对生成INSERT语句

vals = zip(version, price)
# print(list(zip(version, price)))
# [('Honda Accord 2.4 i-VTEC Prosmatec', 'PKR 14,500,000'), ('Honda City i-VTEC', 'PKR 27,500,000'), ('Honda Civic VTi 1.8 i-VTEC', 'PKR 32,500,000')]                                                                    
mycursor.executemany(sql1, vals)                                                                                                                                  
mydb.commit()   

相关问题 更多 >

    热门问题