使用 Python 在 excel 中打印唯一名字姓氏电话号码电子邮件和地址详细信息的列表



我们创建了一个python代码来打印"ABCD MNOP 282-567-4285 455 mindspace St., Brisbane 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

在控制台窗口中

我们要做的是,一旦我们定义了范围,我们必须打印一个范围或名字姓氏地址等的随机组合作为输出到 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 专家,只是开始任何帮助将不胜感激

尝试以下操作


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()

您可以将数据存储为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')

也许有更好的解决方案,但您可以检查您的随机组合是否在您已经创建的随机组合列表中。

最新更新