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

如何基于含列表元素的DataFrame首行生成指定格式CSV文件?

问题描述

给定一个包含列表元素的Pandas DataFrame(示例代码及数据如下),需要仅基于首行数据生成指定格式的CSV文件。

示例DataFrame代码

import pandas as pd

# 包含列表元素的示例DataFrame
data = {
    'ColumnA': [['A', 'B', 'C'], ['D', 'E'], ['F'], ['G', 'H', 'I', 'J']],
    'ColumnB': [['1', '2', '3', '4'], ['5'], ['6', '7'], ['8', '9', '10']]
}

df = pd.DataFrame(data)

对应的DataFrame输出:

ColumnA        ColumnB
0  [A, B, C]  [1, 2, 3, 4]
1     [D, E]           [5]
2        [F]        [6, 7]
3  [G, H, I, J]  [8, 9, 10]

目标CSV格式

需要生成如下内容的CSV文件:

ColumnA,ColumnB
A,1
B,2
C,3
NaN,4
解决方案

可以通过以下步骤实现需求:

  1. 提取DataFrame首行的两个列表数据
  2. 将列表转换为长度自动对齐的Series(短列表会自动补NaN)
  3. 组合成新DataFrame后导出为CSV

具体代码如下:

import pandas as pd

# 原DataFrame(如题目所示)
data = {
    'ColumnA': [['A', 'B', 'C'], ['D', 'E'], ['F'], ['G', 'H', 'I', 'J']],
    'ColumnB': [['1', '2', '3', '4'], ['5'], ['6', '7'], ['8', '9', '10']]
}
df = pd.DataFrame(data)

# 提取首行的两个列表
col_a_list = df.loc[0, 'ColumnA']
col_b_list = df.loc[0, 'ColumnB']

# 转换为自动对齐的Series,短列表补NaN
s_a = pd.Series(col_a_list)
s_b = pd.Series(col_b_list)

# 组合成新DataFrame并导出CSV
result_df = pd.DataFrame({'ColumnA': s_a, 'ColumnB': s_b})
result_df.to_csv('output.csv', index=False)

代码说明

  • df.loc[0, 'ColumnA'] 精准提取首行的ColumnA列表数据,同理获取ColumnB的列表
  • pd.Series()转换列表时,Pandas会自动补全短列表的缺失值为NaN,保证两个Series长度一致
  • to_csv('output.csv', index=False) 导出时关闭默认索引列,完全匹配目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:36:12