当将大型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. 看似简单的input框输入竟然异常卡顿,记一个日常性能问题的排查思路

    壹 ❀ 引 我们公司产品主要提供企业项目管理服务,那么自然有配套的desk工单管理系统,用于搜集客户bug以及相关问题反馈.有一天我在测试功能时碰巧发现了一个bug,所以就想着提一个工单记录下方便日后 ...

  2. 【Unity3D】绘制物体表面三角形网格

    1 仅绘制三角形网格 ​ 1)创建游戏对象 ​ 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: ​ 场景显示如下: ​ 2)添加脚本组件 ​ GridController. ...

  3. Laravel入坑指南(11)——列队

    很高兴,我们来到了Laravel入坑指南的第11篇.这一系列的文章已经接近尾声了,在这一节里面,我们一起讨论列队的用法. 列队,顾名思义,将需要处理的任务一个一个排好队,等待处理程序来处理.这机的列队 ...

  4. java去除字符串空格

    package test; /** * 去除字符串空格 * * @author xusucheng * @create 2018-07-04 **/ public class RemoveWhites ...

  5. 第一篇博客——MarkDown语法

    Markdown学习 标题 三级标提 四级标题 字体 Hello World ! 两个星号加粗 Hello World ! 一个星号斜体 Hello World ! Hello World ! 两个波 ...

  6. 【Azure 应用服务】Azure SignalR 是否可以同时支持近十万人在线互动

    什么是 Azure SignalR 服务? Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程. 这种实时功能允许服务将内容更新推送到连接的客户端 ...

  7. 【Azure 应用服务】记一次 App Service 部分请求一直返回 401 "No Authority" 的情况

    问题描述 发现部署在App Service上的 WCF 应用对于所请求的接口出现部分返回 401 - No Authority 消息,10次中有一次这样的概率.比较疑惑的问题是,应用没有更新,所以怀疑 ...

  8. 【Azure 环境】Update-MgEntitlementManagementAccessPackageAssignmentPolicy 命令执行时候遇见的 No HTTP Resource was found 问题分析

    Microsoft Graph PowerShell SDK: acts as an API wrapper for the Microsoft Graph APIs, exposing the en ...

  9. PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法

    开发基础-TP框架-入口&调试&路由&写法等 参考手册-TP5开发手册-为了掌握了解框架 首页文件看APP_PATH定义-为了后期分析核心代码 全局搜索:THINK_VERSI ...

  10. 虚拟机和开发板之间通过NFS互联

    简介 NFS是Network File System的首字母缩写.它是一种分布式协议,使客户端可以访问远程服务器上的共享文件.它允许网络中的计算机之间通过TCP/IP网络共享资源. 配置过程 安装NF ...