用python给excel文件的第三列添加重复递增数字

主题:

 excel 文件第三列 从18962 行开始是空白的。

任务:快速的从excel中第三列18962行中 。每744行进行一次循环,直到结束,并依次赋值,从3开始,12结束:

大概的意思就是从18962行开始赋值744行3,然后再赋值744行4,依次类推 到12。

代码如下:

from openpyxl import load_workbook

# 打开Excel文件
workbook = load_workbook('D:111111.xlsx')

# 选择要操作的工作表
sheet = workbook['Sheet1']  # 将'Sheet1'替换为实际的工作表名称

start_row = 18962  # 开始行数
interval = 744  # 循环间隔

row_count = sheet.max_row  # 获取总行数
end_row = row_count + 1  # 结束行数

column = 3  # 第三列(C列)

value = 3  # 起始值

row_index = start_row

for iteration in range(12):
    if row_index > row_count:
        break

    for _ in range(interval):
        if row_index > row_count:
            break
        sheet.cell(row=row_index, column=column, value=value)
        row_index += 1

    value += 1
    if value > 12:
        value = 3

# 保存修改后的Excel文件
workbook.save('D:111111.xlsx')

结果展示:

 

任务二:如果要从第三列第二行开始 。从1-12 循环呢?

代码如下:

import openpyxl

# 打开 Excel 文件
workbook = openpyxl.load_workbook(''D:111111.xlsx')
sheet = workbook.active

# 循环遍历每 744 行
row_index = 2  # 第三列第二行开始
value = 1

while value <= 12 and row_index <= sheet.max_row:
    cell = sheet.cell(row=row_index, column=3)
    cell.value = value
    value += 1
    row_index += 744

# 保存修改后的 Excel 文件
workbook.save(''D:111111.xlsx')

首先,我们需要安装以下库: - pandas:用于读取和处理 Excel 表格据 - matplotlib:用于画图 在安装完库之后,我们可以按照以下步骤进行操作: 1. 读取 Excel 表格据 ```python import pandas as pd # 读取 Excel 表格据 df = pd.read_excel("example.xlsx") ``` 这里我们假设 Excel 表格的文件名为 "example.xlsx"。 2. 计算信息熵值 ```python import math # 定义计算信息熵值的函 def entropy(values): total = sum(values) entropy = 0 for value in values: if value == 0: continue probability = value / total entropy -= probability * math.log2(probability) return entropy # 计算信息熵值 entropies = [] for i in range(len(df.index) - 30, len(df.index)): row = df.iloc[i, 4:44] values = row.tolist() entropies.append(entropy(values)) ``` 这里我们定义了一个计算信息熵值的函 `entropy`,然后使用循环计算最后 30 行的信息熵值,并将结果保存在表 `entropies` 中。 3. 画图 ```python import matplotlib.pyplot as plt # 画图 plt.plot(entropies) plt.xlabel("Row") plt.ylabel("Entropy") plt.show() ``` 最后,我们使用 matplotlib 库画出信息熵值随着行递增的变化曲线。 完整代码如下: ```python import pandas as pd import math import matplotlib.pyplot as plt # 读取 Excel 表格据 df = pd.read_excel("example.xlsx") # 定义计算信息熵值的函 def entropy(values): total = sum(values) entropy = 0 for value in values: if value == 0: continue probability = value / total entropy -= probability * math.log2(probability) return entropy # 计算信息熵值 entropies = [] for i in range(len(df.index) - 30, len(df.index)): row = df.iloc[i, 4:44] values = row.tolist() entropies.append(entropy(values)) # 画图 plt.plot(entropies) plt.xlabel("Row") plt.ylabel("Entropy") plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值