gpt4 book ai didi

python - 按列数据过滤 csv 行

转载 作者:行者123 更新时间:2023-11-30 23:22:46 26 4
gpt4 key购买 nike

我不知道如何调用它,但我有一个包含数据的 csv:

...|Address    | Date       |...  
...|Abraham st.| 01/01/2008 |...
...|Abraham st.| 02/02/2007 |...
...|Abraham st.| 03/03/2011|...

所以我想做的只是保留最新的条目(在本例中为 row4),我真的很难思考这个问题。

我最初的想法是将数据从 csv 读取到行列表,然后:

  1. 将日期字符串转换为日期时间对象
  2. 然后遍历每一行,获取其名称并与其他每一行进行比较,以找到最高日期并保存该日期的行。

有更好的方法来解决这个问题吗?

最佳答案

跟踪迄今为止看到的最高值;我假设您已经有一个读取 CSV 数据的 csv.reader() 对象:

from datetime import datetime

max_date = datetime.min
newest_row = None

for row in csv_reader:
# assumption: your date is the 4th column in each row
date = datetime.strptime(row[3], '%m/%d/%Y')
if date > max_date:
# row is newer, remember it
max_date = date
newest_row = row

当您阅读整个文件后,newest_row 将保存具有最新日期的数据行。但是,冷内存永远不会在内存中保存超过 2 行(当前正在处理的行,以及迄今为止找到的最新行)。

请注意,我将 max_date 开头为 datetime.min,这是可以存储在 datetime 对象中的最小值;只要您的输入文件不包含第一年 1 月 1 日的任何行,就应该没问题。

关于python - 按列数据过滤 csv 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24327471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com