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

如何使用Python将CSV文件按固定列数拆分存储为多个子文件

CSV按固定列数拆分问题修复

原代码错误点

  • 文件名编号错误:enumerate默认从0开始计数,生成的文件名会从cleanBaby0.csv开始,不符合要求的从1开始命名规则
  • 表头格式错误:每个表头后都追加逗号,会导致最后一列表头末尾多出多余逗号,破坏CSV标准格式
  • 核心逻辑错误:你需要实现的是按列拆分,但代码中csvfile[n+100:n]是对CSV的行做切片,且切片范围上限小于下限,得到的是空内容,完全没有实现按列截取的需求
  • 冗余操作:已经用pandas读取了完整的DataFrame,不需要再单独用open读一次源文件的行内容

正确实现代码

import pandas as pd

# 读取源CSV文件
df = pd.read_csv(r"D:\Users\SPate233\Downloads\iMedical\raw_layer\cleanBaby.csv", delimiter=',')
col_count = df.shape[1]
split_step = 100

# 遍历每一组列范围
for idx, start_col in enumerate(range(0, col_count, split_step)):
    # 截取当前分组的所有列
    end_col = start_col + split_step
    split_df = df.iloc[:, start_col:end_col]
    # 按规则生成文件名(编号从1开始)
    save_path = r"D:\Users\SPate233\Downloads\iMedical\raw_layer\cleanBaby{}.csv".format(idx + 1)
    # 输出CSV,保留表头,不写入pandas默认行索引
    split_df.to_csv(save_path, index=False)

上述代码会自动按每100列拆分一个文件,最后一个文件自动保留剩余的22列,文件名和存储范围完全符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:54:00