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

如何用Python Pandas将单列字典格式数据转多列并导出Excel?

Excel字典/字典列表列转多列格式实现方法

所需依赖库

先安装必要的Python工具库:

pip install pandas openpyxl

实现步骤与代码

核心逻辑

  1. 读取原Excel文件,提取目标列的字符串数据
  2. 通过ast.literal_eval将字符串形式的字典/字典列表转换为Python原生对象
  3. 将转换后的对象展开为多列结构的DataFrame
  4. 导出为新的Excel文件

完整代码

import pandas as pd
import ast

# 1. 读取原Excel文件,仅加载目标列
df = pd.read_excel("原文件路径.xlsx", usecols=[0])

# 2. 定义解析函数,兼容单行字典或字典列表的情况
def parse_row_data(row):
    parsed_obj = ast.literal_eval(row[0])
    # 处理字典列表
    if isinstance(parsed_obj, list):
        return pd.DataFrame(parsed_obj)
    # 处理单个字典
    elif isinstance(parsed_obj, dict):
        return pd.DataFrame([parsed_obj])
    else:
        return pd.DataFrame()

# 3. 逐行解析并合并所有数据
final_df = pd.concat([parse_row_data(row) for _, row in df.iterrows()], ignore_index=True)

# 4. 导出转换后的Excel文件
final_df.to_excel("转换后文件.xlsx", index=False, engine="openpyxl")

关键说明

  • ast.literal_eval比原生eval更安全,仅用于解析合法的Python字面量字符串,避免执行恶意代码
  • 若原数据存在格式错误的字符串,会触发解析异常,需提前清理原数据的格式问题
  • 若不同行的字典键不统一,转换后的表格会自动为缺失的键填充NaN值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:30:53