【问题标题】:python remove rows with the same keys and keep the row with the most recent date stamppython删除具有相同键的行并保留具有最新日期戳的行
【发布时间】:2021-04-10 16:14:35
【问题描述】:

我有一个 SharePoint excel 表格,其中包含每天更新的最新信息的文件名和格式。这些行是订单号(作为其他数据框的键)、订购数量和当天收到的数量。

如果今天有更多订单,则会添加行,而旧订单将在几天后被删除,以保持此报告的大小相对较小。看起来是这样的

我想做的是有一个 Python 程序或 Power BI 程序来生成另一个 excel 文件并自动刷新它。此生成的文件将保留所有不同的 PO 编号(如 SQL 中的 groupby 或 excel 中的 pivot ),但仅保留最近几天的记录。

例如,如果 2021 年 1 月 2 日和 2021 年 1 月 3 日的文件如下所示:

例如,

那么在 1/3 上生成的文件会是这样的:

只需为所有不同的 PO 保留一行,此行将是报告中最近几天的行。

【问题讨论】:

标签: python pandas automation pandas-groupby


【解决方案1】:

在 python 中,您可以根据字典顺序比较字符串,以便 如果我们看一下逻辑表达式

'A' < 'B'

这个比较结果为真。 因此,您可以编写一个函数,该函数将使用此功能整理出具有相同日期的最大日期。

此外,如果您将日期表述为"2020-02-14" / YYYY-MM-DD,那么您还可以使用字符串比较来找出哪个日期更旧或更新,或者换句话说,更大或更小。

对于写作和阅读,您可以使用 python CSV 库,因为我知道您正在使用 .csv 文件,但我认为这些库实际上并没有那么有用,因为您也可以很容易地在 python 中实现相同的功能,但它归结为你喜欢什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多