Python利用pandas拆分大型的csv文件
当将大型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文件的更多相关文章
- 用Python对体积较大的CSV文件进行比较的经验
用Python对体积较大的CSV文件进行比较的经验 » 进化的测试 | 进化的测试 用Python对体积较大的CSV文件进行比较的经验 python Add comments 八 032010 ...
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- 109.大型的csv文件的处理方式
HttpResponse对象将会将响应的数据作为一个整体返回,此时如果数据量非常大的话,长时间浏览器没有得到服务器的响应,就会超过默认的超时时间,返回超时.而StreamingHttpResponse ...
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- python之pandas数据筛选和csv操作
本博主要总结DaraFrame数据筛选方法(loc,iloc,ix,at,iat),并以操作csv文件为例进行说明 1. 数据筛选 a b c (1)单条件筛选 df[df[] # 如果想筛选a列的取 ...
- 深入理解pandas读取excel,txt,csv文件等命令
pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...
- Python 读、写、追加csv文件详细以及注意事项
一.利用csv库创建文件 首先导入csv文件 import csv 根据指定的path创建文件: def create_csv(path): with open(path, "w+" ...
- python在不同情况下写入csv文件
情况一(解法一):将列表存储为csv文件.列表的每一项代表csv文件的一行. 列表中的每一项包含多个属性.list=[[属性1,属性2,属性3,……],[属性1,属性2,属性3,……],[属性1,属性 ...
- 爬取拉勾网python工程师的岗位信息并生成csv文件
转载自:https://www.cnblogs.com/sui776265233/p/11146969.html 代码写得很好,但是目前只看得懂前一部分 一.爬取和分析相关依赖包 Python版本: ...
- Python:使用pymssql批量插入csv文件到数据库测试
并行进程怎么使用? import os import sys import time def processFunc(i): time.sleep(10-i) print i if __name__= ...
随机推荐
- 看似简单的input框输入竟然异常卡顿,记一个日常性能问题的排查思路
壹 ❀ 引 我们公司产品主要提供企业项目管理服务,那么自然有配套的desk工单管理系统,用于搜集客户bug以及相关问题反馈.有一天我在测试功能时碰巧发现了一个bug,所以就想着提一个工单记录下方便日后 ...
- 【Unity3D】绘制物体表面三角形网格
1 仅绘制三角形网格 1)创建游戏对象 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: 场景显示如下: 2)添加脚本组件 GridController. ...
- Laravel入坑指南(11)——列队
很高兴,我们来到了Laravel入坑指南的第11篇.这一系列的文章已经接近尾声了,在这一节里面,我们一起讨论列队的用法. 列队,顾名思义,将需要处理的任务一个一个排好队,等待处理程序来处理.这机的列队 ...
- java去除字符串空格
package test; /** * 去除字符串空格 * * @author xusucheng * @create 2018-07-04 **/ public class RemoveWhites ...
- 第一篇博客——MarkDown语法
Markdown学习 标题 三级标提 四级标题 字体 Hello World ! 两个星号加粗 Hello World ! 一个星号斜体 Hello World ! Hello World ! 两个波 ...
- 【Azure 应用服务】Azure SignalR 是否可以同时支持近十万人在线互动
什么是 Azure SignalR 服务? Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程. 这种实时功能允许服务将内容更新推送到连接的客户端 ...
- 【Azure 应用服务】记一次 App Service 部分请求一直返回 401 "No Authority" 的情况
问题描述 发现部署在App Service上的 WCF 应用对于所请求的接口出现部分返回 401 - No Authority 消息,10次中有一次这样的概率.比较疑惑的问题是,应用没有更新,所以怀疑 ...
- 【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 ...
- PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法
开发基础-TP框架-入口&调试&路由&写法等 参考手册-TP5开发手册-为了掌握了解框架 首页文件看APP_PATH定义-为了后期分析核心代码 全局搜索:THINK_VERSI ...
- 虚拟机和开发板之间通过NFS互联
简介 NFS是Network File System的首字母缩写.它是一种分布式协议,使客户端可以访问远程服务器上的共享文件.它允许网络中的计算机之间通过TCP/IP网络共享资源. 配置过程 安装NF ...