You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用csv.DictReader读取CSV生成字典后如何分离键与值

实现代码

你可以直接利用csv.DictReader自带的fieldnames属性一次性获取所有公共键(即CSV文件的表头内容),再通过字典内置的values()方法提取每行的对应值,示例如下:

import csv

with open ('student_marks.txt') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    # 提取所有键(表头),仅需执行一次
    all_keys = csv_reader.fieldnames
    print("所有键:", all_keys)
    print("="*60)

    # 遍历每行数据提取值
    for row in csv_reader:
        # 提取当前行所有值
        row_values = list(row.values())
        print("当前行值:", row_values)
        # 如需单独取某个键的值,直接按下述方式调用即可
        print(f"学生ID:{row['Student ID']},期末成绩:{row['Final (40%)']}\n")

如果需要从单个行字典中分别提取键和值(不需要提前拿公共表头),可以使用下述写法:

for row in csv_reader:
    current_row_keys = list(row.keys())
    current_row_values = list(row.values())
    print("当前行键:", current_row_keys)
    print("当前行值:", current_row_values)
说明
  • 所有行的键都和CSV表头一致,因此无需在循环中重复提取键,直接调用fieldnames属性效率更高
  • 直接通过row[键名]的方式取值可读性更强,不需要按索引匹配值对应的字段含义

内容的提问来源于stack exchange,提问作者coja56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:45:02