在csv文件中搜索id [已解决] [英] Searching a csv file for an id [Solved]
问题描述
嗨
我正在阅读第一个编程,第5章。在本章中,编写了一个程序,通过输入一个数字作为id来获取参赛者的详细信息。该程序通过搜索名为surfers_data.csv的csv文件来完成此任务。
每当我运行它时,它都不返回任何结果;似乎没有参赛者拥有这个身份;但是有一个。
这是代码:
Hi
I'm reading head first programming, chapter 5. In this chapter, a program is written to get a contestant's details by inputting a number as an id. The program does this by searching through a csv file named "surfers_data.csv".
Whenever I run it, it returns nothing as results; it seems that no contestants owns this id; however there is one.
Here is the code:
def find_details(id2find):
surfers_f=open("surfing_data.csv")
for line in surfers_f:
s={}
(s['id'],s['name'],s['country'],s['average'],s['board'],s['age']) = line.split(";")
if id2find==int(s['id']):
surfers_f.close()
return s
surfers_f.close()
return ({})
lookup_id = int(input("Enter the id of the surfer: "))
surfer = find_details(lookup_id)
if surfer:
print("ID: " + surfer['id'])
print("Name: " + surfer['name'])
print("Country: " + surfer['country'])
print("Average: " + surfer['average'])
print("Board type: " + surfer['board'])
print("Age: " + surfer['age'])
输出结果为:
>>输入冲浪者的身份证:104 #I输入此号码作为身份
>> #prints没有结果
注意:可以在此处访问csv文件: http://headfirstlabs.com/books/hfprog/chapter05/surfing_data.csv [ ^ ]
推荐答案
你应该试试这个
You should try this
def find_details(id2find):
surfers_f=open("surfing_data.csv")
for line in surfers_f:
s={}
(s['id'],s['name'],s['country'],s['average'],s['board'],s['age']) = line.split(";")
if id2find==int(s['id']):
surfers_f.close()
return s
surfers_f.close()
return ({})
注意最后两行。
Pay attention to the last 2 lines.
这篇关于在csv文件中搜索id [已解决]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!