基于python实现在excel中读取与生成随机数写入excel中

  • Post category:Python

下面我就来为你详细讲解一下“基于Python实现在Excel中读取与生成随机数写入Excel中”的完整实例教程。

目录

  • 前言
  • 准备工作
  • 读取Excel文件中的数据
  • 生成随机数并写入Excel中
  • 示例说明1:统计Excel表格中的数字总和
  • 示例说明2:为Excel表格中的空单元格填充随机数
  • 结语

前言

Python作为一种直观、简单、易学的编程语言,支持大量的扩展库,对于Excel文件的操作也有很好的支持。本教程将带你逐步实现利用Python读取Excel表格数据和生成随机数写入Excel表格的操作。

准备工作

在开始实现之前,我们需要安装两个Python的库——openpyxlrandom。你可以通过以下命令进行安装:

pip install openpyxl
pip install random

同时,我们需要准备一个Excel文件,本教程将使用test.xlsx作为样例进行演示。在Excel文件中,我们将使用工作表Sheet1中的数据作为读取数据的对象。你可以根据自己的需要将Excel文件进行修改。

读取Excel文件中的数据

在Python中,我们可以使用openpyxl库来读取Excel文件中的数据。下面是读取Excel文件中指定单元格的示例代码:

import openpyxl

# 打开Excel文件
wb = openpyxl.load_workbook('test.xlsx')

# 选择Sheet1工作表
ws = wb['Sheet1']

# 读取A1单元格的数据
data = ws['A1'].value

# 打印A1单元格的数据
print(data)

在这段代码中,我们首先通过load_workbook函数打开了Excel文件,并使用['Sheet1']选择了其中的一个工作表。接着,我们使用ws['A1'].value读取了工作表Sheet1A1单元格的数据,并将数据存储到了data变量中。最后,我们通过print()函数将读取到的数据打印出来。

生成随机数并写入Excel中

在Python中,我们可以使用内置库random来生成伪随机数。下面是生成随机数并写入Excel表格中的示例代码:

import random
import openpyxl

# 打开Excel文件
wb = openpyxl.load_workbook('test.xlsx')

# 选择Sheet1工作表
ws = wb['Sheet1']

# 随机生成10个小数,并写入A1到A10单元格中
for row in range(1, 11):
    data = random.uniform(0, 1)  # 生成0到1之间的随机小数
    cell = ws.cell(row=row, column=1)  # 选取单元格
    cell.value = data  # 将随机数写入单元格中

# 保存修改后的Excel文件
wb.save('test.xlsx')

在这段代码中,我们使用random.uniform(0, 1)函数生成了一组10个位于0到1之间的随机小数,使用ws.cell(row=row, column=1)函数选取了要写入的单元格,并使用cell.value = data函数将生成的随机数写入对应的单元格中。

最后,通过wb.save('test.xlsx')函数将修改后的Excel文件保存。

示例说明1:统计Excel表格中的数字总和

下面是用Python统计Excel表格中数字总和的示例代码:

import openpyxl

# 打开Excel文件
wb = openpyxl.load_workbook('test.xlsx')

# 选择Sheet1工作表
ws = wb['Sheet1']

# 定义初始总和为0
total = 0

# 循环遍历A1-A10单元格
for row in range(1, 11):
    data = ws.cell(row=row, column=1).value  # 读取单元格的数据
    if type(data) == float or type(data) == int:  # 判断单元格中的数据是否为数字类型
        total += data  # 将数字类型的数据累加到总和中

# 打印数字总和
print(total)

在这段代码中,我们通过循环遍历Sheet1工作表中的A1A10单元格,判断每一个单元格的数据是否为数字类型,如果是则将其加入到一个初始值为0的total变量中。最后通过print()函数将数字总和打印出来。

示例说明2:为Excel表格中的空单元格填充随机数

下面是用Python为Excel表格中的空单元格填充随机数的示例代码:

import random
import openpyxl

# 打开Excel文件
wb = openpyxl.load_workbook('test.xlsx')

# 选择Sheet1工作表
ws = wb['Sheet1']

# 填充空白单元格
for row in range(1, 11):
    for col in range(1, 3):  # 遍历A列和B列
        cell = ws.cell(row=row, column=col)
        if cell.value == None:  # 判断单元格是否为空
            cell.value = random.randint(1, 100)  # 填充随机数

# 保存修改后的Excel文件
wb.save('test.xlsx')

在这段代码中,我们通过双重循环遍历了工作表Sheet1中的A1B10单元格,并通过if cell.value == None:判断该单元格是否为空。如果为空则填充随机数,否则不做处理。

最后通过wb.save('test.xlsx')函数将修改后的Excel文件保存。

结语

到这里,我们就完成了一个基于Python实现在Excel中读取与生成随机数写入Excel中的完整实例教程。希望本教程可以帮助你更好地掌握Python在Excel解析和生成随机数的技巧。