微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Python返回文本文件中最新字段的行?

如何解决如何使用Python返回文本文件中最新字段的行?

我正在编写一个 Python 脚本。我需要从文本文件中返回包含最新 'timestamp': 字段的行。例如,在下面的文本文件示例中:

{'uid': 3167,'user_id': '6','timestamp': datetime.datetime(2021,3,10,18,7,13),'status': 1,'punch': 1},{'uid': 3168,'user_id': '198',42),'status': 2,{'uid': 3169,'user_id': '3',13,53),{'uid': 3170,'user_id': '13',22,2),{'uid': 3171,'user_id': '9',43),{'uid': 3172,'user_id': '15',32,30),{'uid': 3173,'user_id': '4',19,42,26),{'uid': 3174,'user_id': '1',34),{'uid': 3175,11,8,48,6),{'uid': 3176,'user_id': '7',9,2,{'uid': 3177,'user_id': '5',12,40),{'uid': 3178,40,47),{'uid': 3179,49,59),

返回文本文件“今天的日期 11/3/2021”例如:

{'uid': 3175,

解决方法

看来您正在处理表格数据,而 Pandas 对此很自然。

import datetime
import pandas as pd

df = pd.DataFrame([{'uid': 3167,'user_id': '6','timestamp': datetime.datetime(2021,3,10,18,7,13),'status': 1,'punch': 1},{'uid': 3168,'user_id': '198',42),'status': 2,{'uid': 3169,'user_id': '3',13,53),{'uid': 3170,'user_id': '13',22,2),{'uid': 3171,'user_id': '9',43),{'uid': 3172,'user_id': '15',32,30),{'uid': 3173,'user_id': '4',19,42,26),{'uid': 3174,'user_id': '1',34),{'uid': 3175,11,8,48,6),{'uid': 3176,'user_id': '7',9,2,{'uid': 3177,'user_id': '5',12,40),{'uid': 3178,40,47),{'uid': 3179,49,59),])

today = pd.to_datetime('today').normalize()
rows = df[df['timestamp'] >= today]

哪个给了

     uid user_id           timestamp  status  punch
8   3175       3 2021-03-11 08:48:06       1      1
9   3176       7 2021-03-11 09:02:30       2      1
10  3177       5 2021-03-11 09:12:40       1      1
11  3178       6 2021-03-11 09:40:47       1      1
12  3179      15 2021-03-11 09:49:59       2      1

如果你想在字典列表中得到结果,你可以执行 rows.to_dict('records')


如果没有 Pandas,获取今天的日期时间并迭代数据以过滤它们的方法类似。

lines = [{'uid': 3167,]

today = datetime.date.today()
today = datetime.datetime(today.year,today.month,today.day)
result = [line for line in lines if line['timestamp'] >= today]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。