Python实现高校名称查询
查询高校名
类型:文件处理
描述
#以下代码的作用是:
#打开文件,创建一个名为Uname的对象,Uname.readlines()的作用是将文件内容逐行读取到列表中
#文件的每行为一个以‘\n’结尾的字符串,做为列表ls的一个元素
#列表ls的第一个元素ls[0]的内容是:'序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n'
with open('university.csv','r',encoding='utf-8') as Uname:
ls = Uname.readlines()
#print(ls)
#输出:['序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n',
# '1,北京大学,4111010001,教育部,北京市,本科,\n',
# '2,中国人民大学,4111010002,教育部,北京市,本科,\n',
# '3,清华大学,4111010003,教育部,北京市,本科,\n',
# ……
# ]
附件'university.csv'
中包含北京主要高校的序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注等信息,以逗号分隔符。
参考提示代码,将文件内容逐行读取到列表中,根据用户输入一个关键字,查询学校名称包含用户输入关键字的学校名并输出。
输入格式
输入一个关键字
输出格式
包含关键字的全部学校名
示例
输入:
中央
输出:
中央财经大学
中央音乐学院
中央美术学院
中央戏剧学院
中央民族大学
参考答案
def read_csv_to_lst(filename):
"""接收CSV文件名为参数,读取文件内容到二维列表,每行数据根据逗号切分为子列表,返回二维列表。"""
with open(filename, 'r', encoding='utf-8') as f:
university_lst = [line.strip().split(',') for line in f]
return university_lst
def query_name(word, university_lst):
"""接收一个字符串和列表名为参数,从列表中查询学校名包含参数字符串的学校名,以列表形式返回。"""
uni_name_lst = []
for university in university_lst:
if word in university[1]:
uni_name_lst.append(university[1])
return uni_name_lst
if __name__ == '__main__':
file = 'university.csv'
uni_lst = read_csv_to_lst(file) # 获得高校信息二维列表
key_word = input() # 输入查询关键字
ls = query_name(key_word, uni_lst) # 查询包含关键的校名,得到列表
print(*ls,sep='\n') # 解包输出列表中的元素,用换行符做分隔 符,实现换行输出的效果
作者:m0_62488776