用Python语言模拟汽车数据,包含汽车的电机马力,汽车电机数,汽车价格,汽车品牌等数据并保存为csv文件并存入MySQL数据库
时间: 2024-03-07 11:52:14 浏览: 16
好的,我可以为您提供一个包含更多数据、保存为csv文件并存入MySQL数据库的Python代码来模拟汽车数据。您需要安装`pandas`和`mysql-connector-python`库。您可以根据需要进行修改和扩展。
```python
import random
import csv
import pandas as pd
import mysql.connector
# 汽车品牌
brands = ['Toyota', 'Honda', 'Ford', 'BMW', 'Mercedes-Benz', 'Audi', 'Lexus', 'Chevrolet']
# 汽车型号
models = ['Camry', 'Accord', 'F-150', '3 Series', 'C-Class', 'A4', 'RX', 'Silverado']
# 汽车电机马力
horsepowers = [100, 150, 200, 250, 300, 350, 400]
# 汽车电机数
motor_numbers = [1, 2, 3]
# 生成数据并保存为csv文件
with open('car_data.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['brand', 'model', 'horsepower', 'motor_number', 'mileage', 'price'])
for i in range(100):
# 随机选择品牌、型号、电机马力和电机数
brand = random.choice(brands)
model = random.choice(models)
horsepower = random.choice(horsepowers)
motor_number = random.choice(motor_numbers)
# 随机生成里程和价格
mileage = random.randint(10000, 100000)
price = random.randint(10000, 50000)
# 写入数据到csv文件
writer.writerow([brand, model, horsepower, motor_number, mileage, price])
# 读取csv文件并存入MySQL数据库
df = pd.read_csv('car_data.csv')
conn = mysql.connector.connect(user='your_username', password='your_password', host='localhost', database='your_database')
cursor = conn.cursor()
for index, row in df.iterrows():
brand = row['brand']
model = row['model']
horsepower = row['horsepower']
motor_number = row['motor_number']
mileage = row['mileage']
price = row['price']
# 将数据插入到MySQL数据库中
sql = f"INSERT INTO car_data (brand, model, horsepower, motor_number, mileage, price) VALUES ('{brand}', '{model}', {horsepower}, {motor_number}, {mileage}, {price})"
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
```
这个代码使用了Python的pandas和mysql-connector-python库来读取csv文件并存入MySQL数据库。它会生成100条数据,每条数据包含汽车品牌、型号、电机马力、电机数、里程和价格。数据将会保存在当前目录下名为`car_data.csv`的文件中,并存入名为`car_data`的MySQL数据库的`car_data`表中。您可以根据需要修改brands、models、horsepowers和motor_numbers列表,添加或删除汽车品牌、型号、电机马力和电机数。请将`your_username`、`your_password`和`your_database`替换为您自己的MySQL数据库用户名、密码和数据库名。