[英]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.