【发布时间】:2018-11-27 22:25:55
【问题描述】:
我希望能够向用户询问他们想在特定列中搜索的字符串。它是制表符分隔的文本文件中的第二列,并查找并打印它在该列中出现的每个实例。
我希望用户能够只输入项目的一个 sn-p,不管大写还是小写,并取回完整的项目。在这种情况下,第二列包含作者列表,我希望用户能够搜索作者并返回作者姓名和他们写的书的名称,它们在同一行,但是在第一列。
def file_search():
userInput = input('Enter a string: ')
lowerInput = userInput.lower()
f=open('file.txt','r')
lowerInput=f.readlines()
result=[]
for x in lowerInput:
result.append(x.split(' ')[1])
f.close()
这是我尝试过的,但我的“列表索引超出范围” 一条线看起来像
A Widow For One Year John Irving Random House 6/14/1998 Fiction
Accident Danielle Steel Delacorte 2/27/1994 Fiction
Acheron Sherrilyn Kenyon St. Martin's 8/24/2008 Fiction
Advise and Consent Allen Drury Doubleday 10/4/1959 Fiction
Against All Enemies Tom Clancy Putnam 7/3/2011 Fiction
Airframe Michael Crichton Knopf 12/29/1996 Fiction
Airport Arthur Hailey Doubleday 4/7/1968 Fiction
【问题讨论】:
-
我又加了几行,都是这样的,书名、作者、出版商、日期、流派
-
你为什么用''分割?因为在名称中,它也有 ' '(空格?)字符。
-
我的回答能回答你的问题吗?
-
这似乎很难。如果您有 csv,为什么不使用 csv 模块?在任何情况下,除非您在 标签 上进行拆分,否则您的数据中没有第二列的概念 - 在这里按空格拆分将不起作用。
标签: python python-3.x