首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 2.7:如何正确拆分CSV文件?

在Python 2.7中,可以使用csv模块来正确拆分CSV文件。下面是一个示例代码,展示了如何拆分CSV文件:

代码语言:txt
复制
import csv

def split_csv_file(input_file, output_prefix, chunk_size):
    with open(input_file, 'r') as file:
        reader = csv.reader(file)
        header = next(reader)  # 获取CSV文件的头部

        chunk_count = 1
        current_chunk_size = 0
        current_chunk_rows = []
        for row in reader:
            current_chunk_rows.append(row)
            current_chunk_size += 1

            if current_chunk_size >= chunk_size:
                output_file = f"{output_prefix}_{chunk_count}.csv"
                with open(output_file, 'w') as output:
                    writer = csv.writer(output)
                    writer.writerow(header)
                    writer.writerows(current_chunk_rows)

                chunk_count += 1
                current_chunk_size = 0
                current_chunk_rows = []

        # 处理剩余的行
        if current_chunk_size > 0:
            output_file = f"{output_prefix}_{chunk_count}.csv"
            with open(output_file, 'w') as output:
                writer = csv.writer(output)
                writer.writerow(header)
                writer.writerows(current_chunk_rows)

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

上述代码中,split_csv_file函数接受三个参数:input_file表示输入的CSV文件名,output_prefix表示输出文件的前缀,chunk_size表示每个拆分文件的行数。

代码首先打开输入文件,并创建一个CSV读取器。然后,它使用next函数获取CSV文件的头部,并将其保存在header变量中。

接下来,代码使用一个循环遍历CSV文件的每一行。它将每一行添加到current_chunk_rows列表中,并增加current_chunk_size计数器。当current_chunk_size达到指定的chunk_size时,代码将当前的行写入一个输出文件,并重置计数器和行列表。

最后,代码处理剩余的行,以确保所有行都被正确拆分到输出文件中。

请注意,上述示例代码仅适用于Python 2.7版本。在较新的Python版本中,可以使用更简洁的语法和功能来处理CSV文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python处理CSV文件(一)

CSV(comma-separated value,逗号分隔值)文件格式是一种非常简单的数据存储与分享方式。CSV 文件将数据表格存储为纯文本,表格(或电子表格)中的每个单元格都是一个数值或字符串。与 Excel 文件相比,CSV 文件的一个主要优点是有很多程序可以存储、转换和处理纯文本文件;相比之下,能够处理 Excel 文件的程序却不多。所有电子表格程序、文字处理程序或简单的文本编辑器都可以处理纯文本文件,但不是所有的程序都能处理 Excel 文件。尽管 Excel 是一个功能非常强大的工具,但是当你使用 Excel 文件时,还是会被局限在 Excel 提供的功能范围内。CSV 文件则为你提供了非常大的自由,使你在完成任务的时候可以选择合适的工具来处理数据——如果没有现成的工具,那就使用 Python 自己开发一个!

01
  • 领券