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__= ...
随机推荐
- python实现百度贴吧页面爬取
import requests class TiebaSpider: """百度贴吧爬虫类""" def __init__(self, ti ...
- NC16857 [NOI1999]生日蛋糕
题目链接 题目 题目描述 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 ≤ i ≤ M)层蛋糕是半径为Ri, 高度为Hi ...
- Python 写入文件、读取文件内容——open函数/readLines/Write/find函数用法
1.读取.txt整个文件 ww.txt文件在程序文件所在的目录,在文件存储在其他地方,ww.txt需要添加文件路径,如:E:\book1\ww.txt:读取后希望返回的是列表类型,将read改为rea ...
- Centos8 单机配置 Zookeeper3.6.3 集群
安装 Zookeeper 3.6.3 前提 已经安装好 JDK8+. 如果使用JDK8, 版本需要在211以上. 下载, 解压 使用root用户 wget https://downloads.apac ...
- XTW100编程器在Win10下的安装
XTW100 这是一个淘宝上卖得很多的经典编程器, 用于写入24和25系列的存储芯片. 最初使用的是stm32f103c8t6, 因为f103价格飞涨, 市面上大都换成国产的兼容mcu了, 软件和使用 ...
- 解决iso方式安装win10找不到固态硬盘!!!
问题说明 朋友的一台联想小新笔记本需要安装win10,我给弄了个iso启动U盘,但是在选择安装盘时找不到笔记本的固态硬盘... 问题原因 联想的锅! 以联想为例,出厂系统的BIOS内,SATA Con ...
- goroutine并发
每一个并非的执行单元叫作一个goroutine.设想这里的一个程序有两个函数,一个函数做计算,另一个输出结果,假设两个函数没有相互之间的调用关系.一个线性的程序会先调用其中的一个函数,然后再调用另一个 ...
- Java纯手打web服务器(一)
目录 在主线程中进行等待客户端请求: 这里主要说下解析流程: 在主线程中进行等待客户端请求: public static void main(String[] args) { HttpServer1 ...
- 【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
问题描述 当在App Service for Windows环境中所列出的Tomcat Version 没有所需要的情况下,如何实现自定义Tomcat 环境呢? 问题解答 第一步: 从官网下载要使用的 ...
- 【Azure 应用服务】App Service 通过 wardeploy 部署 war 包,如何指定到 root目录为wwwroot
问题描述 在部署War包到App Service时,参考文档:(使用 ZIP 或 WAR 文件将应用部署到 Azure 应用服务 : https://docs.azure.cn/zh-cn/app-s ...