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)

排序后

相关推荐
Q_Q5110082859 分钟前
python+uniapp基于微信小程序的学院设备报修系统
spring boot·python·微信小程序·django·flask·uni-app
蓝色空白的博客23 分钟前
自动化测试脚本-->集成测试部署思路整理(1)
python·集成测试
Blossom.11839 分钟前
把AI“绣”进丝绸:生成式刺绣神经网络让古装自带摄像头
人工智能·pytorch·python·深度学习·神经网络·机器学习·fpga开发
星星也在雾里1 小时前
【管理多版本Python环境】Anaconda安装及使用
python·anaconda
用户3721574261351 小时前
使用 Python 将 CSV 文件转换为 PDF 的实践指南
python
大佬,救命!!!1 小时前
算法实现迭代2_堆排序
数据结构·python·算法·学习笔记·堆排序
CodeLongBear2 小时前
苍穹外卖 Day12 实战总结:Apache POI 实现 Excel 报表导出全流程解析
java·excel
总有刁民想爱朕ha2 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份
孤客网络科技工作室2 小时前
Python - 100天从新手到大师:第五十七天获取网络资源及解析HTML页面
开发语言·python·html
帅大大的架构之路2 小时前
高级篇:Python脚本(101-150)
开发语言·python