python读取文件对各列进行索引 可以用readlines, 也可以用readline, 如果是大文件一般就用readline
d={}
a_in = open("testfile.txt", "r")
for line in a_in:
columnssplit = line.rstrip().split("\t")
d[columnssplit[0]]=columnssplit[1]
a_in.close()
ID_test = open("correlation.txt", "r")
for line in ID_test:
s = line.rstrip().split("\t")
if s[1] in d:
print s[0]+"\t"+d[s[1]]
ID_test.close()
## Here is another example
f = open("test.txt", "r")
while True:
line = f.readline()
if line: # 或者用 if line != "":
print line
else:
break
f.close()
参考: http://blog.csdn.net/oldjwu/article/details/4329401
python 还有一个pandas 主要用于大数据分析, 它与matplotlib以及 numpy 结合可以替代R语言进行统计学分析, 获取dataframe的 各行内容,可以用iterrows() 和 itertuples(), 其中 itertuples() 比 iterrows()速度更快。
import pandas as pd
df1 = pd.read_csv("test.txt", header = None, sep='\t')
# 打印前三行
print df1[:3]
# 选取前三行的 前三列, 使用df.loc
df2 = df1.loc[:3, [0, 1, 2]]
print df2
# 替换第三列的部分内容
col3 = df2.apply(lambda r: r[2].replace("KH","TF"), axis=1)
# 合并第一列和替换后的第三列内容
df3 = pd.concat([df2[0], col3], axis = 1)
print df3
参考:
http://pandas.pydata.org/pandas-docs/
http://stackoverflow.com/questions/16476924/
http://stackoverflow.com/questions/13411544/