如何不使用模块将CSV内容转为带表头键的Python字典
不用模块将CSV转换为Python字典
正确实现代码
with open('file_name.csv', 'r') as f: # 读取所有行,去除换行符后按逗号分割字段 rows = [line.strip().split(',') for line in f] # 提取第一行作为表头 headers = rows[0] # 初始化存储结果的列表 result_list = [] # 遍历每一行数据(跳过表头行) for data_row in rows[1:]: # 通过zip将表头与对应数据配对,转换为字典 data_dict = dict(zip(headers, data_row)) result_list.append(data_dict) # 输出验证结果 for item in result_list: print(item)
原代码的问题分析
- 循环逻辑混乱:每次读取一行就立刻遍历整个
linelist处理,导致数据被重复处理,逻辑完全错误 - 字典存储错误:仅使用单个
output_dict,每次update都会覆盖已有键值对,无法保留多组数据 - 取值范围错误:固定取
header[0]和line[0],只处理了第一列的内容,自然只能生成单个键值对
内容的提问来源于stack exchange,提问作者WestinT
相关产品推荐
相关产品推荐

