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

如何从导入的CSV中提取特定值并整理为目标列表格式

提取CSV中字典格式的特定值

问题场景

给定如下格式的CSV文件:

number,values
686790635,{'2019-05-24T13:46:35': 'CSCvp87661'}
686235835,{'2019-02-27T14:13:53': 'CSCvj48931'}
689324672,{'2020-06-19T08:50:53': 'CSCvs42803'}
689995407,{'2020-09-27T05:51:39': 'CSCvg55782'}
688751767,{'2020-03-26T11:28:44': 'CSCvc81396'}
689868626,"{'2020-09-10T01:29:51': 'CSCux76799', '2020-09-10T01:29:53': 'CSCux76799'}"
689206940,{'2020-06-02T20:40:44': 'CSCvo65492'}
686259208,"{'2019-03-11T02:55:43': 'CSCvi66732', '2019-03-11T02:55:52': 'CSCvg81628'}"
689030956,{'2020-05-07T10:05:09': 'CSCvh19223'}

需要提取所有values列中字典对应的值,整理成如下格式的列表:

values = [CSCvp87661,CSCvj48931, CSCvs42803, CSCvg55782, CSCvc81396, CSCux76799, CSCux76799, CSCvo65492, CSCvi66732, CSCvg81628, CSCvh19223]

解决方案

使用Python的csv模块读取文件,结合ast.literal_eval安全解析字典格式字符串,再提取目标值:

步骤1:导入依赖模块

import csv
import ast

步骤2:读取CSV并提取值

values = []

# 替换为你的CSV文件路径
with open('your_file.csv', 'r') as f:
    reader = csv.DictReader(f)
    for row in reader:
        # 将字符串格式的字典转为Python字典对象
        value_dict = ast.literal_eval(row['values'])
        # 把字典里的所有值追加到结果列表
        values.extend(value_dict.values())

# 输出符合要求格式的结果
print(f"values = [{','.join(values)}]")

关键说明

  • ast.literal_eval比原生eval更安全,能避免恶意代码注入风险,专门用于解析字符串形式的Python数据结构。
  • extend()方法会自动处理单键和多键字典,把每个值逐个添加到列表中,无需额外判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:28:13