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

如何利用master.csv主文件生成多个含指定数据的CSV文件

生成指定行数的CSV文件(基于master.csv)

场景说明

你有一个包含name和product列的master.csv文件,需要生成多个新CSV文件,每个文件保留原表头且包含100条数据。以下提供两种实用的Python脚本实现方式,无需额外依赖工具。


方式一:拆分原数据为多份100条文件

如果原文件数据量较大,需要按100条为单位拆分到不同文件(最后一个文件可能不足100条):

import csv
from itertools import islice

# 配置参数
INPUT_FILE = "master.csv"
ROWS_PER_FILE = 100

with open(INPUT_FILE, "r", newline="", encoding="utf-8") as infile:
    reader = csv.reader(infile)
    header = next(reader)  # 读取表头
    
    file_index = 1
    while True:
        # 读取下一批100行数据
        data_chunk = list(islice(reader, ROWS_PER_FILE))
        if not data_chunk:
            break  # 没有数据时退出循环
        
        output_filename = f"master_part_{file_index}.csv"
        with open(output_filename, "w", newline="", encoding="utf-8") as outfile:
            writer = csv.writer(outfile)
            writer.writerow(header)
            writer.writerows(data_chunk)
        
        print(f"已创建文件: {output_filename}")
        file_index += 1

方式二:重复原数据生成固定100条的文件

如果原文件数据不足100条,需要重复复制原数据来填满100条;或者需要每个新文件都包含100条重复的原数据:

import csv

# 配置参数
INPUT_FILE = "master.csv"
ROWS_PER_FILE = 100
NUM_NEW_FILES = 5  # 要生成的新文件数量,可按需修改

with open(INPUT_FILE, "r", newline="", encoding="utf-8") as infile:
    reader = csv.reader(infile)
    header = next(reader)
    original_data = list(reader)
    original_row_count = len(original_data)
    
    if original_row_count == 0:
        print("错误:原文件没有数据行")
        exit()
    
    for file_num in range(1, NUM_NEW_FILES + 1):
        output_filename = f"master_copy_{file_num}.csv"
        with open(output_filename, "w", newline="", encoding="utf-8") as outfile:
            writer = csv.writer(outfile)
            writer.writerow(header)
            
            # 计算重复次数和剩余行数
            repeat_times = ROWS_PER_FILE // original_row_count
            remaining = ROWS_PER_FILE % original_row_count
            
            # 重复写入原数据
            for _ in range(repeat_times):
                writer.writerows(original_data)
            # 写入剩余部分
            writer.writerows(original_data[:remaining])
        
        print(f"已创建文件: {output_filename}")

使用步骤

  1. 将上述任意一个脚本保存为generate_csvs.py
  2. 把脚本文件放在master.csv所在的同一文件夹中
  3. 打开终端/命令提示符,进入该文件夹,运行命令:python generate_csvs.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 03:30:13