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

如何将嵌套列表转为DataFrame并保持格式导出为CSV文件

解决方案

你的原代码逻辑存在问题:通过zip(data[0:10], data[10:20])将前10个元素与第10-20个元素配对再转置,这种方式仅在取固定数量元素时巧合符合预期,无法适配30个元素的完整数据。

根据你“每个子元素各占一行”的需求,以下是几种常见场景的实现代码:

场景1:每个子元素单独占一行(共60行,每行一个值)

如果希望把每个嵌套的子元素单独作为CSV的一行,可先扁平化列表再构造DataFrame:

import pandas as pd

# 扁平化嵌套列表,提取所有子元素
flat_data = [sub_item for item in data for sub_item in item]
# 构造DataFrame并导出
df = pd.DataFrame(flat_data, columns=["子元素值"])  # 替换为你需要的列名
df.to_csv('GFG.csv', mode='w', index=False, header=True)

场景2:每个原始元素的两个子元素作为一行的两列(共30行,每行两列)

如果希望保留原始元素的结构,将两个子元素作为同一行的两列:

import pandas as pd

# 直接用嵌套列表构造DataFrame,指定列名
df = pd.DataFrame(data, columns=headers)  # headers是你定义的列名列表,如["列1", "列2"]
df.to_csv('GFG.csv', mode='w', index=False, header=True)

场景3:区分子元素类型的分行格式

如果需要明确区分每个子元素是原始元素的第一个还是第二个,可将列转行:

import pandas as pd

# 先构造含两列的DataFrame
df = pd.DataFrame(data, columns=["子元素1", "子元素2"])
# 将列转为行,保留子元素类型标识
df = df.melt(var_name="子元素类型", value_name="值")
df.to_csv('GFG.csv', mode='w', index=False, header=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:57:26