k.i.n.g. wrote: > Hi , > > I am new to scripting, I am working on script which would create 'n' > number address book entries into a csv file which would be used to > import into a address book. I need suggestions for the same > > The fileds for csv file are as follows > > ""Title","First Name","Middle Name","Last > Name","Suffix","Company","Department","Job Title","Business > Street","Business Street 2","Business Street 3","Business > City","Business State","Business Postal Code","Business Country","Home > Street","Home Street 2","Home Street 3","Home City","Home State","Home > Postal Code","Home Country","Other Street","Other Street 2","Other > Street 3","Other City","Other State","Other Postal Code","Other > Country","Assistant's Phone","Business Fax","Business Phone","Business > Phone 2","Callback","Car Phone","Company Main Phone","Home Fax","Home > Phone","Home Phone 2","ISDN","Mobile Phone","Other Fax","Other > Phone","Pager","Primary Phone","Radio Phone","TTY/TDD > Phone","Telex","Account","Anniversary","Assistant's Name","Billing > Information","Birthday","Business Address PO > Box","Categories","Children","Directory Server","E-mail Address","E- > mail Type","E-mail Display Name","E-mail 2 Address","E-mail 2 Type","E- > mail 2 Display Name","E-mail 3 Address","E-mail 3 Type","E-mail 3 > Display Name","Gender","Government ID Number","Hobby","Home Address PO > Box","Initials","Internet Free > Busy","Keywords","Language","Location","Manager's > Name","Mileage","Notes","Office Location","Organizational ID > Number","Other Address PO > Box","Priority","Private","Profession","Referred > By","Sensitivity","Spouse","User 1","User 2","User 3","User 4","Web > Page"" > > All the entries written by csv file by script can be random & dummy as > this address book is used for testing purpose. > > > Thank you in advance, > Kanthi
Hi Kanthi, the simple case is to make yourself a list of the fields. For each field specify what type of data to generate and a lower and upper bound for it's length/value. fields = [ ("Title", "txt", 0, 4), ("First", "txt", 0, 40), ("Tel", num, 8, 15) etc...] Then repeatedly loop though that list generating random values of the appropriate type and appending them to another list to build records. import random new_record = [] for each_field in fields: if each_field[1] == "txt": r = random.randint( each_field[2], each_field[3] ) new_record.append( r ) elif each_field[1] == "num": r = random.randint( each_field[2], each_field[3] ) s = "".join( [random.choice("qwerty...etc.") for i in range( r )] ) new_record.append( s ) print new_record() Then basically make a big list of these records and squirt them out to file. You might need read up on the random, csv and copy modules and you'll probably want to expand on the data types it can generate. Also I use the following class to choose random words from a specified word list... class WordList: def __init__(self, dictionary_filename): self.dictionary_list = [] f = open(dictionary_filename,'r') for each in f: #print each self.dictionary_list.append(each.rstrip()) f.close() self.dictionary_length = len(self.dictionary_list) def random(self,x): outlist = [] for each in range(0,x): outlist.append(self.dictionary_list[random.randrange(0, self.dictionary_length-1)]) return ' '.join(outlist) This would allow you to say: firstnames = Wordlist('big_list_of_first_names.txt') name = firstnames.random(1) -- http://mail.python.org/mailman/listinfo/python-list