Python根据坐标半径生成测试点数据
一、代码
# -*- coding: utf-8 -*- import csv import random import math import datetime from pathlib import Path from faker import Faker faker_data = Faker(locale="zh_CN") def gen_data(center_x=103.827703, center_y=36.064076, radius=0.3, num_points=10, out_dir="."): ts = datetime.datetime.now().strftime("%H%M%S") out_path = Path(out_dir) / f"litdata_{ts}.csv" rows = [] for _ in range(num_points): angle = random.uniform(0, 2 * math.pi) distance = random.uniform(0, radius) x = center_x + distance * math.cos(angle) y = center_y + distance * math.sin(angle) rows.append([x, y, faker_data.address(), faker_data.company(), "Lit"]) try: out_path.parent.mkdir(parents=True, exist_ok=True) with out_path.open("w", newline="", encoding="utf-8-sig") as f: writer = csv.writer(f) writer.writerow(["x", "y", "address", "company", "tag"]) writer.writerows(rows) print(f"导出成功: {out_path}") except Exception as e: print(f"导出CSV失败: {e}") if __name__ == "__main__": gen_data()
二、执行结果



浙公网安备 33010602011771号