pandas 实现 Excel 表格的排序

客户要求将 Excel 表中通过某几列数据进行排序,这里使用了 pandas 的 sort_values 方法,总结了一下,分享给大家。

import pandas as pd
import os

pwd = os.getcwd()  # os.getcwd() 方法会返回当前进程的工作目录,可以直接自己定义目文件存放录
writer = pd.ExcelWriter('paixu.xlsx') # 输出文件
df1 = pd.DataFrame(pd.read_excel(os.path.join(pwd,'暂估表.xlsx'),dtype={'Vendor':str,'Vendor':str,'DocumentNo':str}))    # 将excel读入pandas的DataFrame对象,同时约定“Vendor、Vendor、DocumentNo”等字段为字符串类型,避免被pandas转化为数字

df1=df1.sort_values(by=["Vendor","Name"],ascending=True)   #基于Vendor、Name两个字段做升序排列,字段排序有主次之分
df1.to_excel(writer,'Sheet1',index=False)    #index=False,表明导入excel时不写入DataFrame对象的索引列
writer.save()