如何使用Python Pandas将嵌套列表转换为CSV文件?
用Python Pandas将嵌套列表导出为CSV文件
情况1:常规二维嵌套列表(子列表等长,对应CSV行/列)
如果你的嵌套列表是标准的二维结构(每个子列表长度一致,要么是表头要么是一行数据),直接转成DataFrame再导出即可:
import pandas as pd # 示例嵌套列表,第一个子列表是表头 nested_list = [["姓名", "年龄", "城市"], ["张三", 25, "北京"], ["李四", 30, "上海"]] # 转换为DataFrame,指定表头 df = pd.DataFrame(nested_list[1:], columns=nested_list[0]) # 导出CSV,index=False去掉自动生成的索引列,utf-8-sig解决中文乱码 df.to_csv("output.csv", index=False, encoding="utf-8-sig")
如果没有表头,直接用pd.DataFrame(nested_list)就行。
情况2:不规则/深层嵌套列表
要是你的列表里还有更深层级的嵌套,或者子列表长度不一,得先做扁平化或拆分处理:
方案1:把深层嵌套转为字符串
适合不需要拆分嵌套内容的场景,直接把嵌套部分转成逗号分隔的文本:
import pandas as pd deep_nested = [["张三", 25, ["北京", "朝阳区"]], ["李四", 30, ["上海", "浦东新区"]]] # 扁平化嵌套元素 flattened = [[item[0], item[1], ",".join(item[2])] for item in deep_nested] df = pd.DataFrame(flattened, columns=["姓名", "年龄", "完整地址"]) df.to_csv("flattened_result.csv", index=False, encoding="utf-8-sig")
方案2:拆分嵌套内容为多列
如果需要把嵌套里的元素拆成单独的列,可以这样处理:
import pandas as pd deep_nested = [["张三", 25, ["北京", "朝阳区"]], ["李四", 30, ["上海", "浦东新区"]]] # 先转成DataFrame df = pd.DataFrame(deep_nested, columns=["姓名", "年龄", "地址"]) # 把嵌套的地址列表拆分成两列 df[["城市", "区域"]] = pd.DataFrame(df["地址"].tolist(), index=df.index) # 删掉原来的地址列 df.drop("地址", axis=1, inplace=True) df.to_csv("split_result.csv", index=False, encoding="utf-8-sig")
内容的提问来源于stack exchange,提问作者Apo
相关产品推荐
相关产品推荐

