附件'北京高校名录.csv'中包含北京主要高校的序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注等信息,以逗号分隔符。 参考提示代码,将文件内容逐行读取到列表中,根据用户输入的学校名,查询学校信息并以字典形式输出。 输入格式 输入一个学校名称 输出格式 输出包含学校详细信息的字典(注意:行末不得有多余的换行)python
时间: 2024-03-25 12:39:10 浏览: 155
以下是实现代码:
```python
filename = '北京高校名录.csv'
with open(filename, 'r', encoding='utf-8') as f:
data = f.readlines()
for row in data:
if input_school in row:
info = row.split(',')
result = {
'序号': info[0],
'学校名称': info[1],
'学校标识码': info[2],
'主管部门': info[3],
'所在地': info[4],
'办学层次': info[5],
'备注': info[6].strip()
}
print(result)
break
```
思路是先读取文件内容到列表中,然后逐行遍历,查找包含输入学校名称的行,并将该行内容以逗号为分隔符拆分成列表,再根据列表的下标构造字典。最后输出字典即可。注意要去除备注字段末尾的换行符。
相关问题
附件'北京高校名录.csv'中包含北京主要高校的序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注等信息,以逗号分隔符。 参考提示代码,将文件内容逐行读取到列表中,根据用户输入的学校名,查询学校信息并以字典形式输出。
可以参考以下代码实现:
```python
with open('北京高校名录.csv', 'r', encoding='utf-8') as f:
lines = f.readlines()
headers = lines[0].strip().split(',') # 列名
schools = [line.strip().split(',') for line in lines[1:]] # 学校信息
while True:
name = input('请输入学校名称:')
if name == 'exit':
break
result = {}
for school in schools:
if school[1] == name:
for i in range(len(headers)):
result[headers[i]] = school[i]
break
if result:
print(result)
else:
print('未找到该学校信息')
```
代码中,首先使用`readlines()`方法将文件内容逐行读取到列表中,然后将列名和学校信息分别存储到两个列表中。在循环中,用户输入学校名称,程序遍历学校信息列表,查找与输入名称相同的学校,并将该学校信息以字典形式输出。如果未找到该学校,则输出提示信息。
Monthly_Transportation_Statistics.csv 北京高校名录.csv 国家与首都.csv score.csv iris.csv 输入一个文件名,将该文件中的数据读取到二维列表中,按要求进行输出查看。
`Monthly_Transportation_Statistics.csv`, `北京高校名录.csv`, `国家与首都.csv`, `score.csv`, 和 `iris.csv` 这些都是常见的CSV文件,它们分别存储着不同类型的数据,如交通统计数据、学校信息、国家和首都对应表、成绩数据以及用于机器学习的花卉数据集。
当你需要将一个CSV文件的内容读取到二维列表中,你可以使用Python的pandas库,例如:
```python
import pandas as pd
# 假设你想要读取Monthly_Transportation_Statistics.csv
data = pd.read_csv('Monthly_Transportation_Statistics.csv')
# 将DataFrame转换成二维列表
two_dim_list = data.values.tolist()
# 输出前几行数据(视具体文件大小而定)
print("文件内容的前五行:")
for row in two_dim_list[:5]:
print(row)
# 对其他文件的操作类似,只需更换文件名即可
```
注意,每个文件的具体内容和结构不同,所以在查看输出时可能会展示不同的字段和数据类型。
阅读全文