繁体   English   中英

如何从一列中随机选择一个 Excel 单元格?

[英]How to randomly select an Excel cell from a column?

我正在尝试从 Tkinter 中 Excel 工作表的列中随机选择单个单元格。 我尝试了几种不同的方法:

第一,我试过:

wb = load_workbook('Test_Workbook.xlsx')
ws = wb.active

range = ws['A2':'A7']

for cell in range:
    for x in cell:
        print(random.choices((x.value)))

2、我试过了

wb = load_workbook('Test_Workbook.xlsx')
ws = wb.active

A = ws['A']
print(A)
for cell in A:
    print(random.choices(f'{cell.value}') )

这两个示例都在单元格内输出字符串的随机字母,而不是从列中随机选择一个单元格。 我如何让它返回随机单个单元格的值?

有多种方法可以实现这一点,我会尽量贴近您的方法。 所以首先要看到的是,要调用worksheet对象中的单元格,您可以使用 A1 表示法,例如ws["B5"] 如果您现在要选择的范围是A2:A7您需要一个列表,例如

l = ['A1','A2',..'A7']
rand_cell = random.choice(l)

现在要自动化一点,您可以执行以下操作:

column = 'A'
row_range = list(range(2,8)) # [1,2,...7]

并从 row_range 中选择一个随机值并将两者连接起来

rand_cell = "{column}{row}".format(column = column, row = random.choice(row_range))

完整示例:

wb = load_workbook('Test_Workbook.xlsx')
ws = wb.active

column = 'A'
row_range = list(range(2,8)) # [1,2,...7]

rand_cell = "{column}{row}".format(column = column, row = random.choice(row_range))

print(ws[rand_cell])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM