Печать списка уникальных имени, фамилии, номера телефона, адреса электронной почты и адреса в Excel с использованием Python - PullRequest
1 голос
/ 21 января 2020

Мы создали python код для печати «ABCD MNOP 282-567-4285 455 Mindspace St., Брисбен GA 35001 abcdmnop@gmail.com», который представляет собой не что иное, как имя, фамилию, номер мобильного телефона и адрес

Код выглядит следующим образом:

import random
first_names = ['ABCD', 'EFGH', 'IJKL', 'MNOP', 'QRST', 'UVWX', 'YZ']
last_names = ['ABCD', 'EFGH', 'IJKL', 'MNOP', 'QRST', 'UVWX', 'YZ']

street_names = ['indralok', 'mindspace', 'marine drive', 'kora kendra', 'bamdstand', 'mount mary', 
                'milan', 'paris','dubai', 'dindoshi', 'magathane', 'arnala']

cities_names = ['mumbai', 'banglore', 'pune', 'lucknow', 'patna', 'goa', 'ahmedabad', 'sydney', 
               'melbourne', 'brisbane','perth']

states = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 
          'KS', 'KY','LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 
          'NY', 'NC', 'ND', 'OH','OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 
          'WV', 'WI', 'WY']

for num in range(100):

    first = random.choice(first_names)
    last = random.choice(last_names)

    phone = f'{random.randint(100, 999)}-567-{random.randint(1000, 9999)}'

    street_num = random.randint(100, 999)
    street = random.choice(street_names)
    city = random.choice(cities_names)
    state = random.choice(states)
    zip_code = random.randint(10000, 99999)
    address = f'{street_num} {street} St., {city} {state} {zip_code}'

    email = first.lower() + last.lower() + '@gmail.com'

    print (f'{first} {last} {phone} {address} {email}\n')

Он выводит результат в виде

First Last Phone Number    Address                     Zip  Email Address

ABCD MNOP 282-567-4285 455 mindspace St., brisbane GA 35001 abcdmnop@gmail.com

в окне консоли

Что нам нужно сделать, так это то, что мы должны выведите диапазон или случайную комбинацию имени, фамилии, адреса и т. д. c в качестве вывода в файл Excel, как только мы определим диапазон

Ожидаемый результат аналогичен Excel для диапазона, который мы определяем:

MNOP MNOP 539-567-9221 106 paris St., goa LA 76016 mnopmnop@gmail.com

ABCD YZ 326-567-9757 173 magathane St., patna NV 52358 abcdyz@gmail.com

EFGH UVWX 507-567-6504 939 paris St., melbourne PA 45311 efghuvwx@gmail.com

Если мы определим диапазон как 100, то мы должны получить 100 различных комбинаций. Мы не python эксперты, только начинающие какую-либо помощь, будут очень признательны

Ответы [ 3 ]

0 голосов
/ 21 января 2020

Попробуйте следующее


import random
import xlsxwriter

first_names = ['ABCD', 'EFGH', 'IJKL', 'MNOP', 'QRST', 'UVWX', 'YZ']
last_names = ['ABCD', 'EFGH', 'IJKL', 'MNOP', 'QRST', 'UVWX', 'YZ']
street_names = ['indralok', 'mindspace', 'marine drive', 'kora kendra', 'bamdstand', 'mount mary', 'milan', 'paris','dubai', 'dindoshi', 'magathane', 'arnala']
cities_names = ['mumbai', 'banglore', 'pune', 'lucknow', 'patna', 'goa', 'ahmedabad', 'sydney', 'melbourne', 'brisbane','perth']
states = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY','LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH','OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY']

N = 10

workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()

def get_random_value(input_list):
    return input_list[random.randint(0, len(input_list)-1)]

worksheet.write(0, 0, "First Name")
worksheet.write(0, 1, "Last Name")
worksheet.write(0, 2, "Street")
worksheet.write(0, 3, "City")
worksheet.write(0, 4, "State")

for i in range(1,N+1):    
    worksheet.write(i, 0, get_random_value(first_names))
    worksheet.write(i, 1, get_random_value(last_names))
    worksheet.write(i, 2, get_random_value(street_names))
    worksheet.write(i, 3, get_random_value(cities_names))
    worksheet.write(i, 4, get_random_value(states))

workbook.close()
0 голосов
/ 21 января 2020

Возможно, есть лучшие решения, но вы можете проверить, находится ли ваша случайная комбинация в списке случайных комбинаций, которые вы уже создали.

0 голосов
/ 21 января 2020

Вы можете сохранить ваши данные как pandas фрейм данных, а затем записать фрейм данных в файл excel (.csv).

Пример выглядит следующим образом:

import pandas as pd

data_list = []

for num in range(100):

    first = random.choice(first_names)
    last = random.choice(last_names)
    phone = f'{random.randint(100, 999)}-567-{random.randint(1000, 9999)}'
    street_num = random.randint(100, 999)
    street = random.choice(street_names)
    city = random.choice(cities_names)
    state = random.choice(states)
    zip_code = random.randint(10000, 99999)
    address = f'{street_num} {street} St., {city} {state} {zip_code}'
    email = first.lower() + last.lower() + '@gmail.com'

    data_list.append([first, last, phone, address, email])

data_df = pd.DataFrame(data_list)
data_df.columns = ['First', 'Last', 'Phone Number', 'Address', 'Email Address']
data_list.to_csv('data_excel.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...