有个table文件, 有时候需要处理header , 可以用linecache 模块
#!/usr/bin/env python# -*- coding: ascii -*-import linecacheimport fileinputimport sysfrom collections import defaultdictinputFile = sys.argv[1]headerLine = linecache.getline(inputFile, 1).strip()#print(headerLine)Probenames = headerLine.split("\t")[1:]inputH = open(inputFile, "r")d = defaultdict(list)for line in inputH: if "Sample" not in line: z = line.rstrip().split("\t")[1:] for num, p_data in enumerate(z): if p_data != "": d[Probenames[num]].append(p_data)inputH.close()print("NameProbe\tdata")for p in d: for x in d[p]: #print(x, d[p]) print("{0}\t{1}".format(p, x))
当然也可以用 fileinput 模块
参考: