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

如何使用Python的pandas将数据数组按行而非列写入Excel

如何用Pandas将数据按行写入Excel文件?

嘿,这个问题我太熟了!默认情况下Pandas的DataFrame是按列组织数据的,要改成按行输出其实很简单,核心就是调整DataFrame的构造方式,再配合ExcelWriter完成写入就行。我给你一步步讲清楚:

核心思路

Pandas默认会把一维数组的每个元素当作一列,所以要实现按行输出,你需要把数据包装成行的集合——也就是把原数组放到一个列表里(变成二维结构),这样每个子列表就对应Excel里的一行。

单一行数据的例子

假设你有一个一维数组,想把它作为Excel里的一行写入:

import pandas as pd

# 你的原始数据数组
data = ["姓名", "年龄", "城市", "职业"]

# 关键操作:把数据包装成列表的列表,让Pandas识别为一行
df = pd.DataFrame([data])

# 使用ExcelWriter写入文件,按需去掉默认的行索引和列标题
with pd.ExcelWriter("single_row_output.xlsx") as writer:
    df.to_excel(writer, index=False, header=False)

解释下参数:

  • index=False:去掉Excel里默认的行索引(比如0、1、2...)
  • header=False:去掉默认的列标题(比如0、1、2...),如果需要自定义表头,可以把这个参数改成你想要的列表,比如header=["字段1", "字段2"]

多行数据的例子

如果你有多组数据,每组对应一行,直接把所有行数据放到一个二维列表里就行:

import pandas as pd

# 多行数据,每个子列表对应Excel里的一行
rows_data = [
    ["张三", 28, "北京", "工程师"],
    ["李四", 32, "上海", "设计师"],
    ["王五", 25, "广州", "产品经理"]
]

# 直接构造DataFrame,自动识别每行数据
df = pd.DataFrame(rows_data)

# 写入时可以指定自定义表头
with pd.ExcelWriter("multi_rows_output.xlsx") as writer:
    df.to_excel(writer, index=False, header=["姓名", "年龄", "城市", "职业"])

处理NumPy数组的情况

如果你的数据是NumPy数组,先转成列表再处理就行:

import numpy as np
import pandas as pd

# 原始NumPy数组
np_data = np.array([100, 200, 300, 400])
# 转成列表并包装成行结构
df = pd.DataFrame([np_data.tolist()])

with pd.ExcelWriter("numpy_to_excel.xlsx") as writer:
    df.to_excel(writer, index=False)

这样写出来的Excel数据就会完全按你想要的行排列啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:30:14