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)

排序后

相关推荐
如何原谅奋力过但无声6 小时前
TensorFlow 2.x常用函数总结(持续更新)
人工智能·python·tensorflow
程序员-小李6 小时前
基于 Python + OpenCV 的人脸识别系统开发实战
开发语言·python·opencv
万粉变现经纪人6 小时前
如何解决 pip install 安装报错 [WinError 32] 文件被占用(杀毒/占用进程)问题
python·pycharm·flask·beautifulsoup·bug·pandas·pip
java1234_小锋6 小时前
[免费]基于Python的Flask酒店客房管理系统【论文+源码+SQL脚本】
开发语言·人工智能·python·flask·酒店客房
2401_841495647 小时前
【自然语言处理】生成式语言模型GPT复现详细技术方案
人工智能·python·gpt·深度学习·语言模型·自然语言处理·transformer
snakecy8 小时前
过关斩将编程题
开发语言·python
Blossom.1188 小时前
大模型在边缘计算中的部署挑战与优化策略
人工智能·python·算法·机器学习·边缘计算·pygame·tornado
diannao7208 小时前
实时将大模型的解决方案转换为随机应变的机器人指令
开发语言·windows·python·机器人
麦烤楽鸡翅8 小时前
挡住洪水 (牛客)
java·数据结构·c++·python·算法·bfs·牛客
用户3721574261358 小时前
如何使用Python高效转换Excel到HTML
python