如何使用CSV交通事故数据集实现用户输入州名查询对应统计信息
交通事故CSV数据查询功能实现方法
- 提前将你提供的数据集保存为
traffic_crashes.csv文件,和代码放在同一目录下 - 以下提供两种可直接运行的实现方案
方案1:使用Python标准库csv模块实现(无额外依赖)
直接使用Python自带的csv模块读取文件匹配查询,代码如下:
import csv # 读取CSV数据并存为字典,key为州名 state_data = {} with open('traffic_crashes.csv', 'r', encoding='utf-8') as f: reader = csv.DictReader(f) for row in reader: state_data[row['State'].strip()] = row # 获取用户输入 state_input = input("请输入要查询的州名:").strip() # 查询并输出结果 if state_input in state_data: data = state_data[state_input] print(f"\n{state_input} 对应的统计信息如下:") print(f"人口:{data['Population']}") print(f"车辆行驶总里程(百万英里):{data['Vehicle Miles traveled (millions)']}") print(f"致命事故数量:{data['Fatal Crashes']}") print(f"死亡人数:{data['Deaths']}") else: print(f"未找到名为 {state_input} 的州统计数据,请检查输入是否正确")
方案2:使用pandas实现(代码更简洁,适合后续统计拓展)
如果需要后续做更多数据统计分析,推荐用pandas实现,首先安装依赖:pip install pandas
实现代码如下:
import pandas as pd # 读取CSV文件 df = pd.read_csv('traffic_crashes.csv') # 获取用户输入 state_input = input("请输入要查询的州名:").strip() # 筛选对应州的数据 result = df[df['State'] == state_input] if not result.empty: print(f"\n{state_input} 对应的统计信息如下:") # 输出所有字段信息,隐藏索引 print(result.to_string(index=False)) else: print(f"未找到名为 {state_input} 的州统计数据,请检查输入是否正确")
内容的提问来源于stack exchange,提问作者Torbjörn Lindholm
相关产品推荐
相关产品推荐

