gpt4 book ai didi

python - 在 csv python 中查找元素的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:13 25 4
gpt4 key购买 nike

我有一个非常大的 csv 文件,其中包含超过 50K 的条目,并且还在不断增加。我的文件具有以下结构:

    ID;name;battery;... 
101;a,3.3;...
102;b,3.3;...
103;c,3.2;...

我知道如何在 python 中读取 csv 文件,但我想知道查找 csv 文件上是否有新条目以避免重写新行的最佳方法是什么。

我正在做这样的事情:

if new_id in open(log.csv).read():

任何帮助或建议将不胜感激。

编辑:我想按 ID 过滤

最佳答案

避免重复的好方法是使用针对搜索进行优化的特殊数据结构。例如,在 Python 中,您可以使用 set()set() 基于哈希表,提供时间复杂度为 O(n) 的搜索。架构如下:

从文件中读取现有的 id 到 set() 中:

file = open('log.csv', 'rw')
# include only ids to set:
entries = set(i.split(',')[0] for i in file.readlines()[1:])

检查每个新行插入的条件:

# new_entry - is a new line
new_id = new_entry.split(',')[0] # get new id
if new_id not in entries:
file.write(new_entry) # Maybe newline appending is needed
entries.add(new_id) # Update a set of existing rows

关于python - 在 csv python 中查找元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44453934/

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