在网上寻找和研究,似乎有很多方法可以做到这一点,但不确定它是否适合我想要的方式.就我个人而言,我仍然希望我的日期为这种格式"3/30/24".我正在提取数据从一些有大量数据和一切工作的预期,但当我试图排序我的日期,它只是排序它字典,这是只有当我阅读CSV,而不是写作,因为我只是想测试,如果它甚至可以排序在第一位后写它.

data_to_export = {
   "Company Name": ["Mcdonalds","Burgerking"],
    "Delivery Address":["123 lake rd", "124 west rd"],
     "Date": ["3/30/24", "1/23/24"],
     "Customer Name": ["Zack", "Peter"],}
    df = pd.DataFrame(data_to_export)
    df.to_csv(join_move_to, index=False)

上面是一些虚拟数据,只是为了让你可以得到一个快速的例子,下面是我如何保存它,

我确实有一些排序方法之前,但它没有工作,所以我只是删除了它,但写之前,我如何让它知道,我想排序的日期和记住,我仍然希望我的格式为"(月/日/年)"

我知道这是一个字符串,所以它必须转换为某种日期,然后排序,但我找不到一种方法来做到这一点.

我试了这么做,你们可以看到

    df = pd.DataFrame(data_to_export)
    df["Date"] = pd.to_datetime(df["Date"],format="%m/%d/%y")
    df.sort_values(by="Date", inplace=True)
    df.to_csv(path, index=False)

推荐答案

你应该传递一个自定义的keyto_datetimesort_values,这将使用定义的逻辑进行排序,同时保持数据不变:

(df.sort_values(by='Date', key=lambda x: pd.to_datetime(x, format='%m/%d/%y')
   .to_csv(path, index=False)  
)

输出CSV:

Company Name,Delivery Address,Date,Customer Name
Burgerking,124 west rd,1/23/24,Peter
Mcdonalds,123 lake rd,3/30/24,Zack

Python相关问答推荐

Django mysql图标不适用于小 case

如何在Windows上用Python提取名称中带有逗号的文件?

从numpy数组和参数创建收件箱

如何让Flask 中的请求标签发挥作用

修复mypy错误-赋值中的类型不兼容(表达式具有类型xxx,变量具有类型yyy)

DataFrames与NaN的条件乘法

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

使用密钥字典重新配置嵌套字典密钥名

pandas:排序多级列

不能使用Gekko方程'

在两极中过滤

如何使用两个关键函数来排序一个多索引框架?

python—telegraph—bot send_voice发送空文件

查看pandas字符列是否在字符串列中

Pandas 数据帧中的枚举,不能在枚举列上执行GROUP BY吗?

如何重新组织我的Pandas DataFrame,使列名成为列值?

python的文件. truncate()意外地没有截断'

如何使用pytest在traceback中找到特定的异常

Polars时间戳同步延迟计算

将相应的值从第2列合并到第1列(Pandas )