我有一個文本文件是製表符分隔的,我試圖弄清楚如何搜索文件中特定列中的值。用Python搜索特定列中的特定值
我想我需要使用csv導入,但到目前爲止一直沒有成功。有人能指引我朝着正確的方向嗎?
謝謝!
** **更新 感謝大家的更新。我知道我可以用awk來做這個,但是隻是爲了練習,我試圖用python來完成它。
我現在收到以下錯誤: 如果row.split(」「)[INT(searchcolumn)] == SEARCHQUERY: IndexError:列表索引超出範圍
這裏是的片斷我代碼:
#open the directory and find all the files
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file, 'r')
lines=f.readlines()
for line in lines:
#the first 4 lines of the file are crap, skip them
if linescounter > startfromline:
with open(file) as infile:
for row in infile:
if row.split(' ')[int(searchcolumn)] == searchquery:
rfile = open(resultsfile, 'a')
rfile.writelines(line)
rfile.write("\r\n")
print "Writing line -> " + line
resultscounter += 1
linescounter += 1
f.close()
我正在把用戶的raw_input作爲raw_input的searchcolumn和searchquery。林猜測我現在得到列表超出範圍的原因,是因爲它不正確解析文件?
再次感謝。
如果這不是一個更大的Python應用程序的一部分,你可能會發現這是'awk'所做的事情。 –