我正在编写一个程序,从excel表中读取该程序,它随机选择一行(100行,2列)。
with open("file1.csv") as f:
reader = csv.reader(f)
for index, row in enumerate(reader):
if index == 0:
chosen_row = row
else:
r = random.randint(0, index)
if r == 0:
chosen_row = row
我希望它写入特定的行/列。 例如;如果它是从第4行第A列中随机选择的话,则会将答案写入第4行第B列。
这就是我所拥有的(这是错误的,它不会写入特定的单元格)
x = input(chosen_row[0])
srcfile = openpyxl.load_workbook("file1.csv",read_only=False,
keep_vba= True)
sheetname = srcfile.get_sheet_by_name('Sheet1')
sheetname.cell(row=chosen_index,column=2).value = x
srcfile.save('file1.csv')
我想知道它如何随机选择一行,并让我的代码获取用户的输入并将其写入该行的特定单元格中。
答案 0 :(得分:0)
来自openpyxl上的示例代码:
from openpyxl import Workbook
wb = Workbook()
# grab the active worksheet
ws = wb.active
# Data can be assigned directly to cells
ws['A1'] = 42
鉴于此,您应该能够使用
查看分配给定单元格的值ws['A1']
并随机分配其他:
ws['A1']=ws[random[row]+random[cell]]
ramdom [row / cell]是伪代码。您将选择要如何定义随机[行/单元格]数据。
别忘了保存,顺便说一句。
# Save the file
wb.save("sample.xlsx")