首页 > 解决方案 > 制作了一个随机创建用户名但我无法将用户名分配给列的函数

问题描述

我在 python 3 中使用 openpyxl,我正在尝试创建一个脚本,为十个不同的用户创建一个随机用户名。然后我试图让脚本将每个用户名添加到 excel 文件中的特定列。

这是我目前的代码:

import random
import openpyxl

path = "E:\\Desktop"

wb = openpyxl.load_workbook('python.xlsx')
sheet = wb.active

def name_generator():
    color = ["Red", "Green", "Blue", "White", "Black", "Yellow", "Purple", "Orange", "Pink"]
    animal = ["Cat", "Dog", "Snake", "Mouse", "Tiger", "Leopard", "Moose", "Wolf", "Bear"]
    number = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]

    randomColor = random.randrange(0, len(color))
    randomAnimal = random.randrange(0, len(animal))
    randomNumber = random.randrange(0, len(number))

    name = "Username: " + color[randomColor] + animal[randomAnimal] + number[randomNumber]

sheet['E1':'E10'] = name

wb.save('newpython.xlsx')

该函数创建一个随机用户名,但我无法获得分配给单元格的用户名,Python 告诉我“名称”未定义。

我试过这个:

import random
    import openpyxl

    path = "E:\\Desktop"

    wb = openpyxl.load_workbook('python.xlsx')
    sheet = wb.active

    color = ["Red", "Green", "Blue", "White", "Black", "Yellow", "Purple", "Orange", "Pink"]
    animal = ["Cat", "Dog", "Snake", "Mouse", "Tiger", "Leopard", "Moose", "Wolf", "Bear"]
    number = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]

    randomColor = random.randrange(0, len(color))
    randomAnimal = random.randrange(0, len(animal))
    randomNumber = random.randrange(0, len(number))

    name = "Username: " + color[randomColor] + animal[randomAnimal] + number[randomNumber]

    sheet['E1'] = name

    wb.save('newpython.xlsx')

并将用户名添加到单元格 E1,但只有 E1 符合预期。

我在将 E 列中第 1 行的用户名分配到第 10 行时遇到问题。我试过使用 for 循环,但我还没有让它工作,我不确定这是否是要走的路。希望我的解释足够好!

标签: pythonexcelrandomopenpyxl

解决方案


推荐阅读