gpt4 book ai didi

python - 如何读取 CSV 文件以仅将最新的三个值放入字典中?

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:57 24 4
gpt4 key购买 nike

此代码读取 CSV 文件中的每一行。第一列是字典中的值。我想将键的值限制为三个(使用最近的三个值。)

 for row in reader:
key = row[0]
if key in result:
# if the key is in dictionary
result[key].append(row[1])
# add what ever is in column 2 to that key
if len(result[key]) > 3:
# if the result is three !!
print ("too long")
lastThreeValues = (result[key][-3]).copy()
result[key].clear()
result[key] = (lastThreeValues)

else:
result[key] = [row[1]]

工作代码是这样的

reader = csv.reader(open("class1.csv"))
result = {}
for row in reader:
key = row[0]
if key in result:
result[key].append(row[1])
if len(result[key]) > 3:
result[key] = (result[key][-3:])

最佳答案

这比您实际需要的要复杂得多,您可以使用切片来删除第一个元素。

>>> a
[0, 1, 2, 3]
>>> a = a[1:]
>>> a
[1, 2, 3]

我所做的只是告诉它将列表设置为从索引 1 到末尾等于自身。所以本质上就是删除列表的第一个元素,这是您最旧的值。

尽管正如 jonrsharpe 在评论中指出的那样,使用 [-3:] 更简洁,因为它字面意思是列表中的最后三个元素。

>>> a = a[-3:]
>>> a
[1, 2, 3]

关于python - 如何读取 CSV 文件以仅将最新的三个值放入字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30097420/

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