当使用csv.DictReader函数在Python中?在
例如,如果只想在.csv文件的第10-20行中加载,而不首先加载整个数据集。在
我有几个.csv文件,每个文件有2亿行,包含10个字段名数据项-因此我使用DictReader而不是简单的csv.read文件(). 在
下面是我当前方法的一个简单示例:
import csv
from tqdm import tqdm
field_names = ['A','B','C']
IDs = []
with open(file_1) as f:
reader = csv.DictReader(f,field_names,delimiter=',')
row_count = 0
for row in tqdm(reader):
row_count+=1
ID = row['A']
if ID not in IDs == True:
IDs.append(ID)
您可以看到为什么对于2亿行迭代来说,这会很慢,而循环中任何进一步的条件或处理都会极大地降低速度。在
因此,迭代行组,然后多线程以节省时间是有意义的。在
我考虑过:
先谢谢你!在
您可以使用
enumerate
生成行索引,并在索引到达目标时使用break
循环:请注意,您可以将
IDs
设置为一个集合,而不是一个列表,这样可以更有效地获得唯一的id。在相关问题 更多 >
编程相关推荐