用python把excel指定列的数值复制到其他列

任务一:把第一列时间中的月份信息提取出来复制到第三列

思路:用python遍历excel第一列的数值,然后选中所选的值赋值给第三列,从第一列第二行开始,直到第一列数值遍历完。例如excel 第一列第二行的数值为2015/01/01,那我们就选择第一个/后面的数字,例子中01为所选值,如果所选值里面第一个是0,则把0删除。赋值过去的格式为数字格式。

 代码

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[1].lstrip('0')

    # 将所选值赋值给第三列
    cell_offset = worksheet.cell(row=row, column=3)  # 第三列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

任务二:把第一列时间中的日期信息提取出来复制到第四列

代码

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[2].lstrip('0')

    # 将所选值赋值给第四列
    cell_offset = worksheet.cell(row=row, column=4)  # 第四列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

任务三:把第一列时间中的年份信息提取出来复制到第二列

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[0].lstrip('0')

    # 将所选值赋值给第二列
    cell_offset = worksheet.cell(row=row, column=2)  # 第二列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

成果展示:

### WPS 表格按照数值范围筛选数据的方法 在日常工作中,常常需要根据特定的数值范围来筛选数据。以下是具体方法: #### 使用高级筛选功能实现按数值范围筛选 可以利用 **WPS 表格** 中的高级筛选功能完成这一操作。首先准备一个条件区域,在该区域内定义所需的数值范围条件[^1]。 假设原始数据位于 `A1:B10` 区域,其中 `B` 存储的是数值型数据。为了筛选出数值介于 60 和 90 之间的记录,可以在另一个位置创建条件区域(例如 `D1:E2`),设置如下内容: - 单元格 `D1`: 输入标题,与目标名称一致(如“分数”)。 - 单元格 `E1`: 空白。 - 单元格 `D2`: 输入大于等于条件,例如 `>=60`。 - 单元格 `E2`: 输入小于等于条件,例如 `<=90`。 接着执行以下步骤: 1. 打开菜单栏中的【数据】选项卡; 2. 点击【高级筛选】按钮; 3. 在弹出对话框中,“表区域”指定为包含全部数据的范围 (`A1:B10`); 4. 将“条件区域”设定为你刚刚建立好的条件区 (`D1:E2`); 5. 如果希望结果显示在同一表格的不同地方,则勾选“将筛选结果复制到其他位置”,并指明输出起始单元格;否则直接点击确定即可原地显示符合条件的结果。 #### 自动化批量处理多个文件内的相似需求 (可扩展至 Python 解决方案) 当面对大量类似的 Excel 文件时,手动逐一应用上述流程会非常耗时费力。此时可以考虑借助编程工具如 Python 来提高效率[^2]。通过 pandas 库读取各个 .xlsx 文件的内容,并施加自定义逻辑过滤掉不符合给定区间标准的部分行项后再保存回去形成新的汇总文档集合。 ```python import pandas as pd def filter_by_range(file_path, sheet_name='Sheet1', column='Score', min_val=60, max_val=90): df = pd.read_excel(file_path, sheet_name=sheet_name) filtered_df = df[(df[column] >= min_val) & (df[column] <= max_val)] return filtered_df # Example usage: filtered_data = filter_by_range('example.xlsx') print(filtered_data.head()) ``` 此脚本片段展示了如何加载单个电子表格、依据某字段值处于预设界限之内选取对应条目以及打印前几行作为验证成果的方式。 ### 注意事项 对于简单的重复性核查任务比如查找两份清单间共同存在的项目或者差异部分,除了采用前述提到过的函数外还可以尝试运用 VLOOKUP 或者 INDEX-MATCH 组合公式达成目的[^3]。然而这些内置手段可能并不总是最简便高效的途径特别是在涉及大型复杂数据库的时候所以适时引入外部辅助程序不失为明智之举。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值