Python嵌套列表导出至Excel的实现问题
解决Python嵌套列表导出Excel问题
你的三层嵌套列表需要先转换成pandas可识别的二维结构,再导出为Excel。下面针对两种常见的导出需求给出实现代码:
情况1:按分组拆分展示
把每个内层小列表拆成“名称”“数值”两列,外层子列表作为分组,导出后表格结构如下:
| 组号 | 名称 | 数值 |
|---|---|---|
| 1 | a | 1 |
| 1 | b | 2 |
| 2 | aa | 11 |
实现代码:
import pandas as pd # 补全你的列表(假设a、aa等为字符串,若为变量需提前定义) List1 = [ [["a",1], ["b",2], ["c",3], ["d",4], ["e",5]], [["aa",11], ["bb",22], ["cc",33], ["dd",44],["ee",55]], [["aaa",111], ["bbb",222], ["ccc",333], ["ddd",444],["eee",555]], [["aaaa",1111], ["bbbb",2222], ["cccc",3333], ["dddd",4444],["eeee",5555]] ] # 扁平化数据 data = [] for group_idx, group in enumerate(List1, start=1): for item in group: data.append({"组号": group_idx, "名称": item[0], "数值": item[1]}) # 转成DataFrame并导出 df = pd.DataFrame(data) df.to_excel("分组导出结果.xlsx", index=False)
情况2:按行展示子列表数据
把外层每个子列表作为一行,内层小列表的第一个元素作为表头,第二个元素作为行值,导出后表格结构如下:
| a | b | c | d | e |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| 11 | 22 | 33 | 44 | 55 |
实现代码:
import pandas as pd List1 = [ [["a",1], ["b",2], ["c",3], ["d",4], ["e",5]], [["aa",11], ["bb",22], ["cc",33], ["dd",44],["ee",55]], [["aaa",111], ["bbb",222], ["ccc",333], ["ddd",444],["eee",555]], [["aaaa",1111], ["bbbb",2222], ["cccc",3333], ["dddd",4444],["eeee",5555]] ] # 提取表头和行数据 headers = [item[0] for item in List1[0]] rows = [[item[1] for item in group] for group in List1] # 转成DataFrame并导出 df = pd.DataFrame(rows, columns=headers) df.to_excel("行式导出结果.xlsx", index=False)
注意事项
- 如果你的
a、aa是变量而非字符串,需确保这些变量已提前定义,避免报错。 - 若你的目标格式和上述两种不同,只需调整数据扁平化的逻辑,核心是把三层列表转成二维列表或字典结构,再交给pandas的
DataFrame处理即可。
内容的提问来源于stack exchange,提问作者Junior Salvador
相关产品推荐
相关产品推荐

