You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python处理Excel提取列并按订单日期倒序生成CSV文件

实现方案

原代码存在的问题

  • pandas的sort_values()方法默认返回新的DataFrame对象,原代码调用后未赋值回原变量,也未设置inplace=True,排序结果没有实际生效
  • 没有添加ascending=False参数,默认是升序排列,无法实现最新日期在顶部的需求
  • 排序操作放在了Order Date列的日期类型转换之前,字符串格式的日期排序会出现逻辑错误
  • 排序操作写在了导出CSV的to_csv()方法之后,输出的文件仍然是未排序的内容

修复后可直接运行的代码

import pandas as pd
import openpyxl

# 读取Excel文件,直接提取需要的两列,省略中间导出全量CSV的冗余步骤
col_list = ['Order Date', 'Sales']
df = pd.read_excel("Orders-With Nulls.xlsx", usecols=col_list)

# 先将Order Date转换为日期类型,保证排序逻辑正确
df['Order Date'] = pd.to_datetime(df['Order Date'])

# 按Order Date降序排序,最新日期在顶部
df = df.sort_values(by="Order Date", ascending=False)

# 打印验证结果
print(df)
max_date = df['Order Date'].max()
print(max_date)

# 导出排序后的结果到CSV
df.to_csv("new.csv", sep=',', index=False)

改动说明

  • 去掉了冗余的中间全量CSV导出/读取步骤,直接从Excel中提取目标字段,减少不必要的IO操作
  • 调整执行顺序:先做日期类型转换,再执行排序,避免字符串排序的逻辑错误
  • 排序时指定降序参数,并且将排序结果赋值回df,确保排序生效
  • 调整导出CSV的位置,在排序完成后再执行导出,保证输出文件符合要求

内容的提问来源于stack exchange,提问作者Manav Prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:36:03