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

如何使用Pandas逐行将多个数组写入CSV文件?

用Pandas逐行添加数组到DataFrame并写入CSV

当然支持逐行写入,下面给你几种实用的实现方式:

方法1:一次性构造DataFrame(最简便)

如果所有数组已经准备好,直接把它们放到一个列表里传给pd.DataFrame,Pandas会自动把每个子数组作为一行:

import pandas as pd

# 存放所有要写入的数组
data_arrays = [[1,2,3,4,5], [6,7,8,9,10]]
# 构造DataFrame,每个子数组对应一行
df = pd.DataFrame(data_arrays)
# 写入CSV,关闭索引和表头(避免生成多余内容)
df.to_csv('result.csv', index=False, header=False)

方法2:逐行追加(适合分批生成数组的场景)

如果数组是分批获取的,比如循环生成,可以用pd.concat逐行拼接(Pandas 2.0+官方建议用concat替代已弃用的append方法):

import pandas as pd

# 初始化空DataFrame
df = pd.DataFrame()

# 模拟分批获取数组
first_array = [1,2,3,4,5]
# 将数组转为Series后转置为行,再拼接到DataFrame
df = pd.concat([df, pd.Series(first_array).to_frame().T], ignore_index=True)

second_array = [6,7,8,9,10]
df = pd.concat([df, pd.Series(second_array).to_frame().T], ignore_index=True)

# 写入CSV
df.to_csv('result.csv', index=False, header=False)

方法3:用loc直接插入行

也可以通过loc指定行索引来直接添加行,适合明确列数的场景:

import pandas as pd

# 先定义列数(和数组长度一致)
df = pd.DataFrame(columns=range(5))

# 插入第一行,len(df)会自动获取当前最后一行的索引+1
df.loc[len(df)] = [1,2,3,4,5]
# 插入第二行
df.loc[len(df)] = [6,7,8,9,10]

df.to_csv('result.csv', index=False, header=False)

注意事项

  • 写入CSV时一定要设置index=False和header=False,否则会把Pandas的行索引和列名也写入文件,不符合你要的格式。
  • 如果数组长度不一致,Pandas会自动补NaN,如果需要避免这种情况,要确保所有数组长度相同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:05:13