python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python对excel某列数据排序

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

作者:~Echo

这篇文章主要给大家介绍了如何使用python实现对excel表中的某列数据进行排序,文中有相关的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下

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

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)

排序后

以上就是python实现对excel表中的某列数据进行排序的代码详解的详细内容,更多关于python对excel某列数据排序的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文