簡體   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