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

如何用Python将列表按每8个元素换行保存为CSV文件

解决Python列表按每行8个元素保存为CSV的问题

没问题,我来帮你搞定这个需求!你想要把一维列表分成每行8个元素写入CSV,不管用NumPy还是纯Python都能轻松实现,下面给你两种实用方案:

方案一:用NumPy实现(延续你已有的思路)

你之前用np.savetxt没达到预期效果,是因为直接传入一维数组时,默认会每行输出一个元素。我们只需要先把一维数组重塑成每行8个元素的二维结构,再保存就可以了:

import numpy as np

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
# 转成numpy数组并自动计算行数,重塑为每行8列的二维数组
arr = np.array(a).reshape(-1, 8)
# 保存为CSV,指定分隔符为逗号,输出格式为整数
np.savetxt('fname.csv', arr, fmt='%d', delimiter=',')

生成的fname.csv内容就是你想要的格式:

1,2,3,4,5,6,7,8
9,10,11,12,13,14,15,16

方案二:纯Python实现(无需依赖NumPy)

如果不想引入NumPy依赖,直接用Python内置的文件操作也能实现:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

with open('fname.csv', 'w') as f:
    # 以步长8遍历列表,每次截取一组8个元素
    for i in range(0, len(a), 8):
        # 将当前组的元素转为字符串,用逗号拼接成一行
        line = ','.join(map(str, a[i:i+8]))
        # 写入文件并换行
        f.write(line + '\n')

这个方法通过切片a[i:i+8]每次提取8个元素,再拼接成符合CSV格式的行,逐行写入文件,最终效果和NumPy方案完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:05:51