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

标签 python excel python-3.x

我们创建了一个 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()

关于python - 使用 Python 在 Excel 中打印唯一的名字、姓氏、电话号码、电子邮件和地址详细信息列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59836833/

相关文章:

python - 加入列表中的最后一个元素

python - Django模型字段默认基于另一个模型字段

python - 如何在Python中将数组中的整数转换为 float ?

excel - 在 Matlab 中检索 Xlsx 或 csv

excel - 使用 VBA 在 Excel 工作表中插入公式的问题

python - 连接 1 行数据帧时的 Pandas 索引行为

python - Pyspark 未记录到文件

python - 当 uwsgi 重新加载到 flask 中时保留全局数据

python - 如何更改 matplotlib 中阴影线的线宽?

java - 需要 Java 中文件的内容创建日期