下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:1133
这段代码展示了如何使用Python生成模拟的淘宝订单数据,包括订单ID、购买时间、买家信息、商品详情等。代码使用了Faker库生成中文模拟数据,Pandas库处理数据。请注意这仅用于学习目的,实际淘宝订单系统要复杂得多。
import random
import datetime
import pandas as pd
from faker import Faker
class TaobaoOrderGenerator:
def init(self):
self.fake = Faker('zh_CN')
self.products = self._load_products()
def _load_products(self):
# 模拟商品数据
return [
{"name": "夏季新款T恤", "price": 59.9, "category": "服装"},
{"name": "无线蓝牙耳机", "price": 199.0, "category": "数码"},
{"name": "不锈钢保温杯", "price": 89.0, "category": "家居"},
# 更多商品...
]
def generate_order(self, num_items=1):
order_id = f"TB{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}{random.randint(1000,9999)}"
order_time = datetime.datetime.now() - datetime.timedelta(days=random.randint(0,30))
items = []
for _ in range(num_items):
product = random.choice(self.products)
quantity = random.randint(1,3)
items.append({
"product_name": product["name"],
"price": product["price"],
"quantity": quantity,
"subtotal": product["price"] * quantity,
"category": product["category"]
})
return {
"order_id": order_id,
"order_time": order_time.strftime("%Y-%m-%d %H:%M:%S"),
"buyer_name": self.fake.name(),
"buyer_address": self.fake.address(),
"total_amount": sum(item["subtotal"] for item in items),
"payment_method": random.choice(["支付宝","微信支付","花呗"]),
"items": items
}
def generate_orders(self, num_orders=10):
return [self.generate_order(random.randint(1,5)) for _ in range(num_orders)]
if name == "main":
generator = TaobaoOrderGenerator()
orders = generator.generate_orders(5)
df = pd.DataFrame(orders)
print(df[["order_id", "order_time", "buyer_name", "total_amount"]])