python学习耗子
2020-05-23 10:00
采纳率: 100%
浏览 600

python查询高校名怎么做?后面代码不太会但是下周一就得交。

#以下代码的作用是:
#打开文件,创建一个名为Uname的对象,Uname.readlines()的作用是将文件内容逐行读取到列表中
#文件的每行为一个以‘\n’结尾的字符串,做为列表ls的一个元素
#列表ls的第一个元素ls[0]的内容是:'序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n'

with open('北京高校名录.csv','r',encoding='utf-8') as Uname:
ls = Uname.readlines()

#print(ls)
#输出:['序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n',

'1,北京大学,4111010001,教育部,北京市,本科,\n',

'2,中国人民大学,4111010002,教育部,北京市,本科,\n',

'3,清华大学,4111010003,教育部,北京市,本科,\n',

……

]

要求:附件'北京高校名录.csv'中包含北京主要高校的序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注等信息,以逗号分隔符。
参考提示代码,将文件内容逐行读取到列表中,根据用户输入一个关键字,查询学校名称包含用户输入关键字的学校名并输出。
with open('university.csv', 'r', encoding='utf-8') as f:
ls = f.readlines()
这是我已经完成的代码,后面几行怎么写拜托各位大神啦!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 正在学C++ 2020-05-23 10:57
    已采纳
    with open('北京高校名录.csv','r') as f:
        ls = f.readlines()
    message = []
    for i in ls:
        message.append(i[:-1].split(","))
    message
    
    结果:
    [['序号', '学校名称', '学校标识码', '主管部门', '所在地', '办学层次', '备注'],
     ['1', '北京大学', '4111010001', '教育部', '北京市', '本科', ''],
     ['2', '中国人民大学', '4111010002', '教育部', '北京市', '本科', ''],
     ['3', '清华大学', '4111010003', '教育部', '北京市', '本科', '']]
    
    inputtxt = input("请输入关键字:")
    for i in message[1:]:
        if(inputtxt in i[1]):
            print(i[1])
    
    结果:
    请输入关键字: 清华
    清华大学
    

    参考上边这位大佬的回答,另一种回答

    import numpy as np
    inputtxt = input("请输入关键字:")
    result = np.array(list(filter(lambda x: inputtxt in x[1], message)))
    print(result[:,1])
    
    结果:
    请输入关键字: 大学
    ['北京大学' '中国人民大学' '清华大学']
    

    如果帮到你,请采纳以鼓励。

    点赞 评论
  • blownewbee 2020-05-23 10:09
    lookfor = input()
    with open('university.csv', 'r', encoding='utf-8') as f:
    ls = f.readlines()
    result = filter(lambda x: lookfor in x.split(',')[1], ls)
    print(result)
    
    点赞 评论

相关推荐 更多相似问题