在csv文件中搜索id [已解决] [英] Searching a csv file for an id [Solved]

查看:160
本文介绍了在csv文件中搜索id [已解决]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在阅读第一个编程,第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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆