Я недавно ( большой новичок, если честно) ) до Python и пытаюсь создать генератор случайных имен пользователей.
Цель моего проекта:
- импортировать образец набора данных из файла CSV, содержащего имена и фамилии людей, разделенных табуляцией в алфавитном порядке.
- сгенерировать выходной CSV-файл, который будет добавлять имя из случайной строки к фамилии из другой строки.
Пользователь должен иметь возможность выбрать, сколько имени пользователя он хочет сгенерировать ( например, «Я хочу создать 100K + пользователей случайным образом и записать их в файл 'username.csv')
Выходной файл, который я ищу, должен выглядеть примерно так:
Nikolas Abishek
Benjamin Franklin
...
Я придумал этот код после некоторого исследования:
import csv
import os
import random
random.seed(314)
name = open ('../data/original/names.csv')
username = open ('../data/original/usernames.csv' , "w")
numberofuser = int(input('How many users do you want to generate ? '))
readnames = csv.reader(name, delimiter = '\t')
counter = 0
while counter < numberofuser:
for index,row in enumerate(readnames):
if index == 0:
chosen_row = row
username.write(row)
else:
r = random.randint(0, index)
username.write(row)
if r == 0 :
chosen_row = row
username.write(row)
counter = counter + 1
print ("" + str(numberofuser) + " users has been generated")
Глядя на эту статью о взятии проб из пласта , у меня была идея реализовать его. Моё сообщение об ошибке: следующим образом:
➜ lib git:(master) ✗ python genname.py
How many users do you want to generate ? 5
Traceback (most recent call last):
File "genname.py", line 13, in <module>
username.write(row)
TypeError: write() argument must be str, not list
Итак, я понимаю, что проблема в том, что запись (строка) не может принимать список в качестве аргумента, но мне не удается найти способ разделения списка для записи. каждый элемент это новая строка в моем выходном файле. Есть ли у вас какие-либо идеи о том, как это сделать?
Это мое первое сообщение stackoverflow, надеюсь, мой вопрос ясен.
Спасибо за чтение.
J.
РЕДАКТИРОВАТЬ: позже я добавил случайное семя для тестирования.