我有一个数据文件,其格式类似于id<tab>data
每行,其中每个数据值可能超过 1id
个,反之亦然,例如:
12314\tgerv 15253
43633\tsyujtyy 1243322
12314\tsgsd 134623
58667\tsgsd 134623
而且我想出了一个将数据文件读入 a 的函数defaultdict
,其中默认选项是使用id
as 键,有时使用数据 askey
也很有用。
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
反之亦然。除了用上面的函数读取数据。
有没有更好的方法来获得相同的defaultdict
输出?数据文件中的行数范围为 1000 - 100,000,在某些情况下高达 100 万。
除了将数据文件读入 a 之外defaultdict
,还有其他更合适的原生数据结构吗?数据的使用只是为了让我可以使用或键查询dictionar
输出。id
data