如何用Python将数据集中字符串列表列转换为列表的列表?
提取数据集列中字符串列表为列表的列表
场景说明
你的数据集某列存储的是字符串形式的列表(比如显示为['tablet', 'mobile', 'man'],但实际数据类型是字符串),需要将其转换为真正的列表对象,最终得到一个列表的列表。
解决方案(Python)
1. 使用 Pandas 处理(推荐)
如果用 Pandas 加载数据集,可借助ast.literal_eval安全解析字符串为列表:
import pandas as pd import ast # 加载数据集 df = pd.read_csv("你的数据集文件.csv") # 将列中的字符串格式列表转换为真实列表 df["column"] = df["column"].apply(ast.literal_eval) # 提取为列表的列表 result = df["column"].tolist()
2. 原生 CSV 模块处理
若不用 Pandas,直接用 Python 内置的csv模块:
import csv import ast result = [] with open("你的数据集文件.csv", "r", encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: # 解析字符串为列表并添加到结果 list_item = ast.literal_eval(row["column"]) result.append(list_item)
补充说明
- 如果你的列中已经是真实的列表对象(而非字符串),直接调用
tolist()即可提取,无需ast.literal_eval转换。 ast.literal_eval比eval更安全,只会解析Python字面量(列表、字典等),避免执行恶意代码。
内容的提问来源于stack exchange,提问作者omi
相关产品推荐
相关产品推荐

