按行数拆分CSV文件并保留头部
创始人
2024-08-22 06:00:55
0

下面是一个示例代码,可以按行数拆分CSV文件并保留头部:

import csv

def split_csv(input_file, output_path, rows_per_file):
    with open(input_file, 'r') as file:
        reader = csv.reader(file)
        header = next(reader)  # 读取头部

        file_index = 1
        row_count = 0
        output_file = None

        for row in reader:
            if output_file is None or row_count >= rows_per_file:
                if output_file is not None:
                    output_file.close()
                output_file = open(f'{output_path}/{file_index}.csv', 'w', newline='')
                writer = csv.writer(output_file)
                writer.writerow(header)  # 写入头部
                file_index += 1
                row_count = 0

            writer.writerow(row)
            row_count += 1

        if output_file is not None:
            output_file.close()

# 示例用法
split_csv('input.csv', 'output', 1000)

上述代码中,split_csv函数接受三个参数:输入文件路径、输出文件夹路径和每个输出文件的行数限制。函数使用CSV模块读取输入文件,并逐行处理。

在处理行数达到限制或需要新的输出文件时,函数会关闭当前的输出文件(如果有),并创建一个新的输出文件。在每个输出文件中,函数会先写入头部,然后逐行写入行数据。

在示例中,split_csv('input.csv', 'output', 1000)将会读取名为input.csv的输入文件,将其拆分成每个文件最多包含1000行的输出文件,并保存到名为output的文件夹中。

相关内容

热门资讯

第八分钟技法!智星德州插件最新... 第八分钟技法!智星德州插件最新版本更新内容详解(透视)真是是真的有辅助脚本(哔哩哔哩)1、这是跨平台...
第九分钟学习!epoker免费... 第九分钟学习!epoker免费透视脚本(透视)竟然真的有辅助脚本(哔哩哔哩)1、金币登录送、破产送、...
六分钟手筋!pokemmo免费... 六分钟手筋!pokemmo免费脚本(透视)确实是有辅助下载(哔哩哔哩)1、进入到pokemmo免费脚...
第二分钟举措!pokerrrr... 第二分钟举措!pokerrrr2辅助(透视)本来真的是有辅助脚本(哔哩哔哩)1、点击下载安装,pok...
第八分钟积累!wejoker辅... 第八分钟积累!wejoker辅助软件价格(透视)一贯真的有辅助安装(哔哩哔哩)wejoker辅助软件...
一分钟方针!wepoker国外... 一分钟方针!wepoker国外版透视(透视)原来是有辅助下载(哔哩哔哩)1、游戏颠覆性的策略玩法,独...
第8分钟窍门!pokemmo脚... 第8分钟窍门!pokemmo脚本辅助(透视)原来真的是有辅助教程(哔哩哔哩)进入游戏-大厅左侧-新手...
六分钟要领!pokernow辅... 六分钟要领!pokernow辅助控制(透视)果然是有辅助工具(哔哩哔哩)1)pokernow辅助控制...
八分钟演示!大菠萝手游辅助(透... 八分钟演示!大菠萝手游辅助(透视)竟然真的有辅助脚本(哔哩哔哩)亲,关键说明,大菠萝手游辅助透视脚本...
9分钟秘籍!wpk真的有透视嘛... 9分钟秘籍!wpk真的有透视嘛(透视)都是真的有辅助辅助(哔哩哔哩)1、完成wpk真的有透视嘛辅助器...