写一个python程序,生成20个随机数,每一个数分别写入1.xlsx个文件的一列,
时间: 2023-06-06 09:06:18 浏览: 134
好的,我可以帮你解决这个问题。以下是Python代码:
```python
import random
import openpyxl
# 生成20个随机数
random_numbers = [random.randint(1, 100) for i in range(20)]
# 创建一个新的Excel文件
wb = openpyxl.Workbook()
sheet = wb.active
# 将随机数写入Excel文件
for i, num in enumerate(random_numbers):
sheet.cell(row=i+1, column=1, value=num)
# 保存Excel文件
wb.save('1.xlsx')
```
这个程序可以生成20个1-100之间的随机整数,并将它们写入1.xlsx的第一列。如果你想要生成不同范围内的随机数,可以修改代码中的`random.randint()`函数的参数。
相关问题
python 生成100题随机数加减乘除,比如3*9+256或865-81/9这类算式,其中乘除不能有余数,加减不能有负数,结果为大于0小于1000的整数,然后生成一份题目表格,保存为xlsx,并且每25题为一列,每一列题目后面是算式结果
好的,这个需求可以通过 Python 的 random 和 openpyxl 库来实现。首先,我们需要使用 random 库生成随机数,并通过循环遍历生成100道算式。接着,我们需要使用 openpyxl 库来创建并写入 Excel 文件中。
以下是实现代码:
```python
import random
from openpyxl import Workbook
# 生成随机数
def generate_number():
return random.randint(1, 99)
# 生成运算符
def generate_operator():
operators = ['+', '-', '*', '/']
return random.choice(operators)
# 验证算式是否符合要求
def validate_expression(exp):
try:
result = eval(exp)
if result < 0 or result >= 1000 or result % 1 != 0:
return False
except:
return False
return True
# 生成算式
def generate_expression():
while True:
num1, num2, num3 = generate_number(), generate_number(), generate_number()
op1, op2 = generate_operator(), generate_operator()
exp = f'{num1} {op1} {num2} {op2} {num3}'
if validate_expression(exp):
return exp, int(eval(exp))
# 生成100道算式
expressions = []
for i in range(100):
exp, result = generate_expression()
expressions.append((exp, result))
# 写入Excel文件
wb = Workbook()
ws = wb.active
for i, (exp, result) in enumerate(expressions):
row, col = divmod(i, 25)
col *= 2
ws.cell(row+1, col+1, exp)
ws.cell(row+1, col+2, result)
wb.save('题目表格.xlsx')
```
在上述代码中,我们通过 generate_number() 函数生成1-99之间的随机数,generate_operator() 函数生成运算符,validate_expression() 函数验证算式是否符合要求,generate_expression() 函数生成符合要求的算式,并使用循环遍历生成100道算式。
接着,我们使用 openpyxl 库创建并写入 Excel 文件。我们首先通过 Workbook() 函数创建工作簿(Workbook),然后通过 active 属性获取当前工作表(Worksheet),接着使用循环将100道算式写入 Excel 文件中。我们将一列分为两个单元格,一个单元格用来显示算式,另一个单元格用来显示结果。
最后,我们通过 save() 方法保存 Excel 文件。
运行代码后,将在同级目录下生成一个名为“题目表格.xlsx”的文件,其中包含了100道随机生成的算式。
想要给excel表中的workorderSeq列生成1到40的随机数,并且没有重复,用python怎么写
可以使用Python中的pandas库和random库来实现该功能,具体实现步骤如下:
1. 首先读取Excel表格中的数据并转化为DataFrame格式,可以使用pandas中的read_excel函数来实现。
2. 生成1到40的随机数序列,可以使用random库中的sample函数来实现,该函数可以从指定的序列中随机取出指定数量的元素,且不重复。
3. 将生成的随机数序列赋值给workorderSeq列即可。
代码示例:
```
import pandas as pd
import random
# 读取Excel表格数据
df = pd.read_excel('test.xlsx')
# 生成1到40的随机数序列
random_seq = random.sample(range(1, 41), len(df))
# 将随机数序列赋值给workorderSeq列
df['workorderSeq'] = random_seq
# 将结果写入新的Excel表格
df.to_excel('new_test.xlsx', index=False)
```
其中,'test.xlsx'为原始Excel表格文件名,'new_test.xlsx'为生成的新Excel表格文件名。需要注意的是,生成的随机数序列长度应该与Excel表格中的行数相同,否则会出现赋值错误的情况。
阅读全文