如何将包含字典列表的列拆分为标准pandas DataFrame?
解决方案
你的数据属于字符串化的嵌套列表结构,外层列表包裹了一层字符串格式的二维列表,无法直接转换是因为没有先解析字符串为Python原生对象。
具体实现步骤
- 导入依赖:pandas用于生成DataFrame,Python标准库
ast的literal_eval方法用于安全解析Python字面量字符串,无需额外安装依赖 - 提取原始数据中的字符串元素,解析为Python原生嵌套列表
- 剥离多余的嵌套层级,拿到实际存储字段信息的字典数组
- 直接将字典数组传入
pd.DataFrame完成转换
完整可运行代码
import pandas as pd import ast # 原始数据 raw_data = ["[[{'uuid': '3cb5da6c-6db2-4893-9ebb-39443a7c83be', 'answers': 'Vibinators', 'votes': '74'}, {'uuid': '564b3357-df5f-4543-bd07-fa0c3c9401de', 'answers': 'I AM’s', 'votes': '139'}]]"] # 解析字符串为Python对象 str_content = raw_data[0] nested_list = ast.literal_eval(str_content) # 提取字典数组 data_list = nested_list[0] # 转换为DataFrame df = pd.DataFrame(data_list) # 可选:将votes列转为数值类型 df['votes'] = df['votes'].astype(int) print(df)
输出示例
uuid answers votes 0 3cb5da6c-6db2-4893-9ebb-39443a7c83be Vibinators 74 1 564b3357-df5f-4543-bd07-fa0c3c9401de I AM’s 139
内容的提问来源于stack exchange,提问作者Thembela Daphula
相关产品推荐
相关产品推荐

