当将大型CSV文件拆分成较小的文件时,您可以使用Python的Pandas库来处理

导入必要的库

import pandas as pd

定义拆分函数

当定义拆分函数时,我们将在以下步骤中处理CSV文件的拆分

def split_csv(input_file, chunk_size):
# 读取CSV文件
dtype_options = {'column9': str, 'column26': str, 'column27': str, 'column28': str}
df = pd.read_csv(input_file, dtype=dtype_options, low_memory=False)

首先,我们使用pd.read_csv()函数从指定的CSV文件中读取数据。在这个例子中,我们还为某些列指定了数据类型选项,以确保正确解析这些列的内容。您可以根据实际情况调整这些选项。

接下来,我们需要计算拆分数据框的次数:

    num_chunks = len(df) // chunk_size + 1

我们使用len(df)获取数据框中的总行数,并通过将其除以拆分大小并向上取整来计算拆分的次数。

然后,我们进行实际的拆分操作,并将每个拆分后的数据框保存为单独的CSV文件:

    for i in range(num_chunks):
start_idx = i * chunk_size
end_idx = (i + 1) * chunk_size
chunk_df = df.iloc[start_idx:end_idx]
output_file = f'output_chunk_{i + 1}.csv'
chunk_df.to_csv(output_file, index=False)

在循环中,我们按照拆分大小切片数据框,并将切片后的数据框保存为一个命名为 output_chunk_{i + 1}.csv 的CSV文件。这里使用了格式化字符串以便为每个拆分文件指定一个唯一的编号。

调用拆分函数

if __name__ == "__main__":
# 定义输入文件和拆分大小
input_file = r'C:\Users\Administrator\Desktop\数据核对\Result_19.csv'
chunk_size = 500000 # 调用拆分函数
split_csv(input_file, chunk_size)

完整代码

import pandas as pd

def split_csv(input_file, chunk_size):
# 读取CSV文件
dtype_options = {'column9': str, 'column26': str, 'column27': str, 'column28': str}
df = pd.read_csv(input_file, dtype=dtype_options, low_memory=False) # 计算拆分的次数
num_chunks = len(df) // chunk_size + 1 # 拆分数据框并保存为多个CSV文件
for i in range(num_chunks):
start_idx = i * chunk_size
end_idx = (i + 1) * chunk_size
chunk_df = df.iloc[start_idx:end_idx]
output_file = f'output_chunk_{i + 1}.csv'
chunk_df.to_csv(output_file, index=False) if __name__ == "__main__":
# 替换以下行中的文件名和拆分大小
input_file = r'C:\Users\Administrator\Desktop\数据核对\Result_19.csv'
chunk_size = 500000 split_csv(input_file, chunk_size)

Python利用pandas拆分大型的csv文件的更多相关文章

  1. 用Python对体积较大的CSV文件进行比较的经验

    用Python对体积较大的CSV文件进行比较的经验 » 进化的测试 | 进化的测试 用Python对体积较大的CSV文件进行比较的经验  python  Add comments 八 032010   ...

  2. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  3. 109.大型的csv文件的处理方式

    HttpResponse对象将会将响应的数据作为一个整体返回,此时如果数据量非常大的话,长时间浏览器没有得到服务器的响应,就会超过默认的超时时间,返回超时.而StreamingHttpResponse ...

  4. PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

    现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...

  5. python之pandas数据筛选和csv操作

    本博主要总结DaraFrame数据筛选方法(loc,iloc,ix,at,iat),并以操作csv文件为例进行说明 1. 数据筛选 a b c (1)单条件筛选 df[df[] # 如果想筛选a列的取 ...

  6. 深入理解pandas读取excel,txt,csv文件等命令

    pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...

  7. Python 读、写、追加csv文件详细以及注意事项

    一.利用csv库创建文件 首先导入csv文件 import csv 根据指定的path创建文件: def create_csv(path): with open(path, "w+" ...

  8. python在不同情况下写入csv文件

    情况一(解法一):将列表存储为csv文件.列表的每一项代表csv文件的一行. 列表中的每一项包含多个属性.list=[[属性1,属性2,属性3,……],[属性1,属性2,属性3,……],[属性1,属性 ...

  9. 爬取拉勾网python工程师的岗位信息并生成csv文件

    转载自:https://www.cnblogs.com/sui776265233/p/11146969.html 代码写得很好,但是目前只看得懂前一部分 一.爬取和分析相关依赖包 Python版本: ...

  10. Python:使用pymssql批量插入csv文件到数据库测试

    并行进程怎么使用? import os import sys import time def processFunc(i): time.sleep(10-i) print i if __name__= ...

随机推荐

  1. B3610 [图论与代数结构 801] 无向图的块 题解

    题目传送门 前言 本题解内容均摘自我的 Tarjan 学习笔记 . 解法 Tarjan 与无向图 无向图与割点(割顶) 在一个无向图中,不存在横叉边(因为边是双向的). 一个无向图中,可能不止存在一个 ...

  2. CF1829H Don't Blame Me

    题目链接 题解 知识点:线性dp,位运算. 考虑设 \(f_{i,j}\) 表示考虑了前 \(i\) 个数字,与和为 \(j\) 的方案数.转移方程显然. 注意初值为 \(f_{0,63} = 1\) ...

  3. NC54586 小翔和泰拉瑞亚

    题目链接 题目 链接:https://ac.nowcoder.com/acm/problem/54586 来源:牛客网 题目描述 小翔爱玩泰拉瑞亚 . 一天,他碰到了一幅地图.这幅地图可以分为 \(n ...

  4. NC20325 [SDOI2009]HH的项链

    题目链接 题目 题目描述 HH有一串由各种漂亮的贝壳组成的项链. HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一 段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链 ...

  5. NVME(学习笔记八)—Asymmetric Namespace Report

    8.20 非对称namespace访问报告 8.20.1 非对称namespace访问报告概况 非对称Namespace访问(ANA)在如下场景下产生,基于访问这个namespace的controll ...

  6. 【Unity3D】IK动画

    1 IK简介 ​ 2D动画.人体模型及动画.人物跟随鼠标位置中介绍了 Aniamtion.Animator.人体模型.人体骨骼.人体动画等基础知识及人体动画的应用,本文将进一步介绍 IK 动画. ​ ...

  7. spring boot携手echarts实现双柱状图实战

    说明 最近做了个图书管理系统,里面有个模块是统计最近一周借书和还书的情况. 设计为柱状图模式展现,自然需要用到echarts. 实现效果 开发步骤 1.页面和JS <!DOCTYPE html& ...

  8. 使用 CMake 编写 Windows 静态库

    最近有一个多个 .h .cc .cpp 编译成静态库的需求,故记录下过程 静态库不同于动态库,它不需要 main 入口,只要各个源文件与头文件能对应,也就是源文件和头文件引用的头文件能够找到函数的符号 ...

  9. 如何避免Git合并远程分支时出现可读性差的日志

    问题及现象 当某一分支(假设为main)的本地仓库和远程仓库都基于同一个提交进行了修改,并分别创建了新的提交时,在本地执行git push origin main会提示先要执行git pull合并远程 ...

  10. 项目实战:医疗流式细胞术数据文件(.fcs)导出excel表工具

    需求    解析医疗实验室数据文件*.fcs.   Demo导出数据   医疗流式细胞术数据文件标准(.fcs)   流式细胞术数据文件标准于1984年发布,以促进流式细胞术数据分析软件与在不同类型的 ...