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

如何将含逗号值的字典列表转换为Pandas DataFrame?

解决字典列表转Pandas DataFrame的问题

嘿,别担心,这个问题其实比你想的简单——你根本不需要手动去拆分那些带逗号的字符串!Pandas本身就能完美处理这种包含逗号的值,问题出在你之前可能用了错误的转换方式。

正确的解决方案步骤:

  • 首先确保你已经导入了pandas和datetime库(如果还没导入的话)
  • 直接用Pandas的DataFrame()构造函数传入你的字典列表就行——它会自动识别每个字典的键作为列名,值作为对应行的内容,完全不会被值里的逗号干扰。
  • 最后把日期列格式化成你想要的mm-dd-yyyy格式就可以了。

完整代码示例:

import pandas as pd
import datetime

# 你的原始字典列表
data = [
    {'Name':'Smith, John','Date of Birth':datetime.datetime(2016, 5, 10, 0, 0),'Email Address':'JSmith@so.com'},
    {'Name':'Smith, Jane','Date of Birth':datetime.datetime(2010, 6, 5, 0, 0),'Email Address':'JSmith2@so.com'},
    {'Name':'Doe, Monica','Date of Birth':datetime.datetime(2012, 10, 3, 0, 0),'Email Address':'MDoe@so.com'}
]

# 直接转换为DataFrame
df = pd.DataFrame(data)

# 格式化日期列
df['Date of Birth'] = df['Date of Birth'].dt.strftime('%m-%d-%Y')

# 查看结果
print(df)

执行后的输出:

Name Date of Birth Email Address
0  Smith, John     05-10-2016  JSmith@so.com
1  Smith, Jane     06-05-2010 JSmith2@so.com
2  Doe, Monica     10-03-2012    MDoe@so.com

为什么你之前的方法出错?

你提到尝试了多种拆分方法,应该是不小心把整个列表按逗号拆分了,这会破坏字典的键值对结构,导致Pandas无法正确识别列和行。而直接用pd.DataFrame()处理字典列表时,Pandas会逐个解析每个字典的键值,完全忽略值内部的逗号——因为逗号在这里只是字符串的一部分,不是数据的分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:34:25