如何将Python中的列表数据导出到Excel表格并按独立列展示
Python列表数据导出为多列Excel表格实现方案
前提说明
你给出的原始数据data = [list[1], list[2], list[3]]为列优先结构,即三个子列表分别对应三列的所有行值,和你预期的输出结构对应。如果你的实际数据是行优先结构(每个子列表对应一行数据),可以参考文末的调整说明。
方案1:使用pandas实现(代码最简,推荐)
- 先安装所需依赖:
pip install pandas openpyxl - 实现代码:
import pandas as pd # 替换为你的实际数据 data = [ ["A", "B", "A"], ["Test", "Test1", "Test2"], ["3rd Column", "3rd Column", "3rd Column"] ] # 构造DataFrame,指定列名 df = pd.DataFrame({ "List1": data[0], "List2": data[1], "List3": data[2] }) # 导出到Excel,index=False表示不额外导出行序号列 df.to_excel("output.xlsx", index=False)
方案2:使用openpyxl原生实现(无需pandas依赖)
- 先安装所需依赖:
pip install openpyxl - 实现代码:
from openpyxl import Workbook wb = Workbook() ws = wb.active # 写入表头 ws.append(["List1", "List2", "List3"]) # 替换为你的实际数据 data = [ ["A", "B", "A"], ["Test", "Test1", "Test2"], ["3rd Column", "3rd Column", "3rd Column"] ] # zip(*data)将列优先结构转为行优先,逐行写入 for row in zip(*data): ws.append(row) # 保存文件 wb.save("output.xlsx")
行优先数据调整说明
如果你的原始data是行优先结构,即每个子列表对应一行数据,格式如下:
data = [ ["A", "Test", "3rd Column"], ["B", "Test1", "3rd Column"], ["A", "Test2", "3rd Column"] ]
只需要做少量调整即可:
- pandas方案:把DataFrame构造逻辑改为
df = pd.DataFrame(data, columns=["List1", "List2", "List3"]) - openpyxl方案:把遍历逻辑改为
for row in data: ws.append(row)
内容的提问来源于stack exchange,提问作者Pen7865
相关产品推荐
相关产品推荐

