0

我有一个数据文件,其格式类似于id<tab>data每行,其中每个数据值可能超过 1id个,反之亦然,例如:

12314\tgerv 15253
43633\tsyujtyy 1243322
12314\tsgsd 134623
58667\tsgsd 134623

而且我想出了一个将数据文件读入 a 的函数defaultdict,其中默认选项是使用idas 键,有时使用数据 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键和值所在的位置iddata反之亦然。除了用上面的函数读取数据。

有没有更好的方法来获得相同的defaultdict输出?数据文件中的行数范围为 1000 - 100,000,在某些情况下高达 100 万。

除了将数据文件读入 a 之外defaultdict,还有其他更合适的原生数据结构吗?数据的使用只是为了让我可以使用或键查询dictionar输出。iddata

4

0 回答 0