[英]how to randomly select from a list in a column of lists in a pandas dataframe
[英]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.