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

如何用Python 3将Google Sheets导出的CSV转为字典?

把CSV文件转换为Python字典的实用方案

Hey there! 既然你已经打开了CSV文件并创建了reader对象,那咱们直接上两种能快速完成转换的方法:

方法1:用csv.DictReader(最省心的方式)

Python的csv模块自带的DictReader可以直接帮你把CSV的每一行转换成字典——键就是CSV的表头,值就是对应列的内容,完全不用手动处理表头和行内容的配对:

import csv

# 如果已经打开了文件,直接用你已有的文件对象即可
with open("master_exercise_boolean.csv", mode="r", encoding="utf-8") as file:
    # 用DictReader替代普通reader
    csv_dict_reader = csv.DictReader(file)
    # 把所有行转成字典列表,方便后续灵活访问
    csv_data = list(csv_dict_reader)

# 示例:访问第一行的某个字段
print(csv_data[0]["你的表头列名"])

方法2:基于你已有的reader对象手动转换

要是你已经创建了普通的csv.reader对象,也可以手动提取表头,再把后续每行和表头配对成字典:

import csv

with open("master_exercise_boolean.csv", mode="r", encoding="utf-8") as file:
    # 你已经创建的reader对象
    csv_reader = csv.reader(file)
    # 提取第一行作为表头(next()会读取reader的下一行,也就是表头行)
    headers = next(csv_reader)
    # 循环处理每一行,生成字典
    csv_data = []
    for row in csv_reader:
        # 用zip把表头和行元素配对,转成字典
        row_dict = dict(zip(headers, row))
        # 额外优化:把CSV里的布尔字符串转成Python原生bool类型(如果需要的话)
        for key, value in row_dict.items():
            if value.upper() == "TRUE":
                row_dict[key] = True
            elif value.upper() == "FALSE":
                row_dict[key] = False
        csv_data.append(row_dict)

# 示例:筛选出所有"已完成"的条目
completed_items = [item for item in csv_data if item["是否完成"] is True]
print(completed_items)

小提醒

  • 编码注意:如果CSV包含中文或特殊字符,记得指定encoding="utf-8"(或者对应文件的实际编码)
  • 数据类型转换:CSV里所有值默认都是字符串,像数字、布尔值这类需要手动转换成Python对应类型,比如上面代码里的布尔值处理
  • 灵活筛选:转成字典列表后,你可以用列表推导式、循环快速筛选或提取需要的信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:08:15