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

Python中二维列表导出为带表头规整表格文件的问题

解决二维数据导出为指定表头表格的问题

看起来你遇到的核心问题是数据维度处理错误——你用zip(*APT)把原数据转置了,导致写入的行和列完全颠倒,这就是输出不符合预期的原因。咱们一步步来修正:

先明确数据对应关系

你的APT列表里,每个子列表就是表格的一行数据:

  • [10.2,5,6] → 第一行:APT=10.2,WN=5,WE=6
  • [9.2,-7,8] → 第二行:APT=9.2,WN=-7,WE=8
  • [5.75,1,2] → 第三行:APT=5.75,WN=1,WE=2

方法1:用csv模块正确写入

你之前的代码错误地使用了zip(*APT)(这会把原数据的列转成行),只需要直接遍历APT里的每个子列表即可:

import csv

APT = [[10.2,5,6],[9.2,-7,8],[5.75,1,2]]
headers = ['APT','WN','WE']

with open("file.csv", 'w', newline='') as f:
    wri = csv.writer(f)
    wri.writerow(headers)  # 写入表头
    for row in APT:  # 直接遍历每个子列表作为行
        wri.writerow(row)

加上newline=''是为了避免Windows系统下写入csv时出现空行。

方法2:用Pandas快速导出

如果用Pandas,你需要把APT直接转换成DataFrame,指定表头后导出,之前的错误应该是没有正确对应数据和列:

import pandas as pd

APT = [[10.2,5,6],[9.2,-7,8],[5.75,1,2]]
df = pd.DataFrame(APT, columns=['APT','WN','WE'])
df.to_excel("file.xlsx", index=False)  # index=False去掉自动生成的行号
# 导出csv的话用:df.to_csv("file.csv", index=False)

这里pd.DataFrame(APT, columns=headers)会自动把每个子列表映射为一行,对应指定的列名。

验证结果

导出后打开文件,你会得到预期的三列表格:

APTWNWE
10.256
9.2-78
5.7512

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:05:36