【发布时间】:2015-07-11 16:14:28
【问题描述】:
我需要在制表符分隔的文本文件中搜索某些内容。用户应该输入文件和需要搜索的东西。然后程序应该返回用户输入的单词所在的整行。到目前为止,我有两个模型,因为我一直从不同的角度来解决这个问题。第一个程序如下:
import csv
searchfile = raw_input ('Which file do you want to search? ')
try:
input_file = open (searchfile, 'rU')
except:
print "Invalid file. Please enter a correct file"
csv_file_object = csv.reader(open(searchfile, 'rb'))
header = csv_file_object.next()
data=[]
for row in csv_file_object:
data.append(row)
searchA = raw_input ('which author?')
author_search = data[0::,0] == searchA
if author_search in searchfile:
print author_search
第一个程序的问题是弹出这个错误:
TypeError:列表索引必须是整数,而不是元组
因此我尝试了这种方法:
import csv
searchfile = raw_input ('Which file do you want to search? ')
try:
input_file = open (searchfile, 'rU')
except:
print "Invalid file. Please enter a correct file"
with open(searchfile) as f:
reader = csv.reader(f, delimiter="\t")
d = list(reader)
searchtype = raw_input ('Search on author or journal/conference or [Q = quit]')
if searchtype == 'author':
searchdataA = raw_input ("Input author name")
if searchdataA in input_file:
print line
elif searchtype == 'journal' or 'conference' or 'journal/conference':
searchdataJ = raw_input ("input journal/conference name")
if searchdataJ in d:
print line
elif searchtype == 'Q':
print "Program left"
else:
print "please choose either author or journal/conference"
这无法超越输入搜索参数。
如果我完全走错了轨道,那么任何关于如何使用这两个程序的帮助都将非常感激,那么指向有用材料的链接会很棒。
【问题讨论】:
-
您能提供几行您要搜索的文件吗?
标签: python list python-2.7 csv search