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__= ...
随机推荐
- ARM指针寄存器——堆栈指针寄存器SP、程序计数器PC、连接寄存器LR详解
堆栈的实现方法 在随机存储器区划出一块区域作为堆栈区,数据可以一个个顺序地存入(压入)到这个区域之中,这个过程称为'压栈'(push ).通常用一个指针(堆栈指针 SP-StackPointer ...
- Spring Cloud Openfeign微服务接口调用与Hystrix集成实战
关于openfeign 可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持Spring MVC注解.OpenFeign和Feign底层都内置了Ribbon负载均衡组件,在导 ...
- virtualbox中给redhat安装增强功能
关于虚拟机中安装redhat请参考其他教程: 1.点击虚拟机菜单:设备--安装增强功能.... 2.ssh连接到redhat,执行以下操作: [root@rhel-server ~]# mount / ...
- jupyter环境变量配置与启动
一.jupyter基础知识 1.基本概念 jupyter是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. 编程时具有语法高亮,缩进,tab补全的功能. ...
- 摸鱼快报:golang net/http中的雕虫小技
以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技. 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:30 ...
- WriteFile 奇怪的现象
项目中有个需求是要对文本内容检索并重写,我们使用的是 WriteFile 覆盖旧的文本内容 最小示例: #include <Windows.h> #include <iostream ...
- win32 - Session 0 隔离
在Windows XP,Windows Server 2003和Windows操作系统的早期版本中,所有服务都与登录控制台的第一个用户在同一会话中运行.该会话称为会话0.在会话0中一起运行服务和用户应 ...
- h5页面在微信打开,ios底部存在返回横条的问题
我的问题比较简单,一个处理链接的页面,二次跳转进入真正的页面,导致ios出现返回横条,点击后退回到了处理链接页面.因为这个后退不会重新加载,导致一直处在处理链接的这个空页面. 所以我用replace代 ...
- 【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
问题描述 在Azure Logic App中,使用Transform XML组件进行XML内容的转换,但是最近这个组件运行始终失败. 问题解答 点击Transform XML组件上的错误案例,并不能查 ...
- 【Azure 存储服务】记一次调用Storage Blob API使用 SharedKey Authorization出现的403错误
问题描述 使用Azure Storag Blob REST API上传文件,用SharedKey作为Authorization出现403错误. 错误消息 b'\xef\xbb\xbf<?xml ...