将制表符分隔文件读入defaultdict - Python

时间:2013-07-20 15:14:09

标签: python csv data-structures defaultdict

我有一个数据文件格式为每行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 ,其中键和值为defaultdictid,反之亦然。除了使用上述功能读取数据。

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

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

0 个答案:

没有答案