Вот пример того, как могут выглядеть данные. из этой функции макета:
Код: Выделить всё
import random
import csv
# Predefined lists for NAME, CARS, and PHONE OS
NAMES = ["John Doe", "Jane Smith", "Alice Johnson", "Bob Brown", "Charlie Davis", "Eve White", "David Wilson", "Emma Taylor", "Frank Harris", "Grace Clark"]
CAR_BRANDS = ["Toyota", "Ford", "BMW", "Tesla", "Honda", "Chevrolet", "Nissan", "Audi"]
PHONE_OS = ["Android", "iOS"]
def create_csv(file_name, num_records):
cur_random_list_size = random.randint(1, min(len(NAMES), len(CAR_BRANDS)))
with open(file_name, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["ID", "NAME", "MONTH", "CARS", "PHONE OS"])
for i in range(num_records):
record = {
"id" : i + 1,
"name": [NAMES[n] for n in range(cur_random_list_size)],
"month": random.randint(1,12),
"cars": [random.choice(CAR_BRANDS) for _ in range(cur_random_list_size)],
"phone": random.choice(PHONE_OS)
}
writer.writerow(record.values())
print(f"CSV file '{file_name}' created with {num_records} records.")
create_csv("people_data.csv", 5)
ID
ИМЯ
МЕСЯЦ
МАШИНЫ
ТЕЛЕФОН ОС
1
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
2< /td>
"['Toyota', 'Nissan', 'Nissan', 'Nissan', 'Audi', 'Honda']"
iOS< /td>
2
"['Джон Доу', 'Джейн Смит', ' Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
4
"['Nissan', ' Ford', 'Honda', 'Toyota', 'Ford', 'Honda']"
iOS
3
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт ']"
8
"['BMW', 'Honda', 'Tesla', 'Tesla', 'Tesla', 'Nissan ']"
Android
4
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
3
"['Tesla', 'Audi', 'Chevrolet', 'Audi', 'Chevrolet', 'BMW']"
iOS
5
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
8
"['Ford', 'Tesla ', 'BMW', 'Toyota', 'Nissan', 'Ford']"
Android
И в идеале я бы хотел разделить это на пять отдельных файлов CSV, как пример для john_doe_people_data.csv:
ID
ИМЯ
МЕСЯЦ
МАШИНЫ
ОС ТЕЛЕФОНА< /th>
1
< td>Джон Доу
2
Toyota
iOS
2
Джон Доу
4
Nissan
iOS
3
Джон Доу
8
BMW
Android
4
Джон Доу
3
Tesla
iOS
5Джон Доу
8
Ford
Android
В общем, как я могу использовать pandas для создания отдельных файлов CSV для каждого элемента в столбце списка, сохраняя при этом остальные данные в каждом файле?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ith-pandas