我有一个数据文件格式为每行id<tab>data
,每个id
的数据值可能超过1个,反之亦然,例如:
12314\tgerv 15253
43633\tsyujtyy 1243322
12314\tsgsd 134623
58667\tsgsd 134623
我想出了一个函数来将数据文件读入defaultdict
,其中默认选项是使用id
作为键,有时使用数据{{1}也很有用。
key
所需的输出为from collections import defaultdict
def readData(datafile, option="id"):
data = defaultdict(list)
reader = open(datafile)
for l in reader:
if option == "id":
k, v = l.split("\t")
else:
v, k = l.split("\t")
data[k].append(v)
return data
,其中键和值为defaultdict
和id
,反之亦然。除了使用上述功能读取数据。
是否有更好的方法可以获得相同的data
输出?数据文件中的行数范围为1000 - 100,000,在某些情况下高达100万。
除了将数据文件读入defaultdict
之外,还有其他原生数据结构更合适吗?数据的使用只是为了让我可以查询{{1使用defaultdict
或dictionar
键输出。