【发布时间】:2015-07-12 20:04:12
【问题描述】:
对于一项作业,我必须编写一个程序,该程序可以在学术论文的制表符分隔的文本文件中搜索某些值,即在作者列中搜索作者,然后打印整行。这是到目前为止的代码...
import csv
import sys
#Assign File to "SearchFile"
SearchFile=raw_input(str("Enter the name of the file you want to search: "))
#open csv
reader = csv.reader(open(SearchFile, "rb"), delimiter="\t")
#Search Request
search_request = raw_input(str("Search on author (A=)or journal/conference (J=), [Q = quit]: "))
#Author Search
if search_request.startswith("A="):
for row in reader:
if search_request in row[0]:
print row
else:
print("Sorry, could not be found")
我在 stackoverflow 上看到了一些类似的例子,但仍然无法解决我的问题。我可以让它读取文件,但似乎无法检索任何搜索结果?我是 Python 新手,如果有人能提供帮助,那就太好了!
csv 文件的一些行:
AUTHOR(S) YEAR TITLE JOURNAL/CONFERENCE
Accot;Zhai 2001 Scale effects in steering law tasks Proc. ACM CHI
Acredolo 1977 Developmental Changes in the Ability to Coordinate Perspectives of a Large-Scale Space Developmental Psychology
【问题讨论】:
-
你能把你正在搜索的 .txt 文件中的一行发给我们吗? :)
-
在检查
startswith()"A=" 之前,您是否尝试过打印search_request?你可能会发现它不是你想的那样。保护自己免受这种情况的另一件事是为 ifstartswith("A=")设置一个 else 子句
标签: python database csv search multiple-columns