python实现对excel表中的某列数据进行排序

如下需要对webCms中的B列数据进行升序排序,且不能影响到其他列、工作表中的数据和格式。

python 复制代码
import pandas as pd
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows

# 读取 Excel 文件
file_path = '1.xlsx'
sheet_name = 'webCms'

# 读取 Excel 文件并指定引擎为 openpyxl
df = pd.read_excel(file_path, sheet_name=sheet_name, engine='openpyxl')

# d代表对 B 列的数据进行排序,默认排序方式为升序,Pandas排序时默认不对第一行(通常是标题行或列名行)进行排序
df.sort_values(by=df.columns[1], inplace=True)
#如果降序排序则
#df.sort_values(by=df.columns[1], inplace=True, ascending=False)

# 打开相同的 Excel 文件,使用 openpyxl 加载工作簿
workbook = openpyxl.load_workbook(file_path)

# 获取指定工作表
worksheet = workbook[sheet_name]

# 清除工作表中的数据
for row in worksheet.iter_rows(min_row=2, max_row=worksheet.max_row, min_col=1, max_col=worksheet.max_column):
    for cell in row:
        cell.value = None

# 将排序后的数据写回工作表
for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=False), start=2):
    for c_idx, value in enumerate(row, start=1):
        worksheet.cell(row=r_idx, column=c_idx, value=value)

# 保存修改
workbook.save(file_path)

排序后

相关推荐
豌豆花下猫32 分钟前
Python 潮流周刊#97:CUDA 终于原生支持 Python 了!(摘要)
后端·python·ai
随机惯性粒子群38 分钟前
mujoco graspnet 仿真项目的复现记录
python·机器学习·机械臂·graspnet·mujcoo
Json_181790144801 小时前
亚马逊Amazon商品详情API接口概述,json数据示例返回(测试)
开发语言·python
测试杂货铺2 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
前端大菜鸟_2 小时前
河北工程大学e2e平台,python
python·e2e·河北工程大学
明月看潮生3 小时前
青少年编程与数学 02-016 Python数据结构与算法 12课题、递归
python·算法·青少年编程·编程与数学
批量小王子3 小时前
批量统一图像色彩
python
自在如风。3 小时前
Java 设计模式:装饰者模式详解
java·python·设计模式
大模型真好玩3 小时前
不写一行代码! VsCode+Cline+高德地图MCP Server 帮你搞定和女友的出行规划(附原理解析)
人工智能·python·mcp
再玩一会儿看代码3 小时前
pip 与 conda 的全面比较:Python 包管理的深度解析
经验分享·笔记·python·conda·课程设计·pip