Python拆分大型CSV文件代码实例

这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# @FileName :Test.py
# @Software PyCharm

import os
import pandas as pd

# filename为文件路径,file_num为拆分后的文件行数
# 根据是否有表头执行不同程序,默认有表头的
def Data_split(filename,file_num,header=True):
  if header:
    # 设置每个文件需要有的行数,初始化为1000W
    chunksize=10000
    data1=pd.read_table(filename,chunksize=chunksize,sep=',',encoding='gbk')
    # print(data1)
    # num表示总行数
    num=0
    for chunk in data1:
      num+=len(chunk)
    # print(num)
    # chunksize表示每个文件需要分配到的行数
    chunksize=round(num/file_num+1)
    # print(chunksize)
    # 分离文件名与扩展名os.path.split(filename)
    head,tail=os.path.split(filename)
    data2=pd.read_table(filename,chunksize=chunksize,sep=',',encoding='gbk')
    i=0
    for chunk in data2:
      chunk.to_csv('{0}_{1}{2}'.format(head,i,tail),header=None,index=False)
      print('保存第{0}个数据'.format(i))
      i+=1
  else:
    # 获得每个文件需要的行数
    chunksize=10000
    data1=pd.read_table(filename,chunksize=chunksize,header=None,sep=',')
    num=0
    for chunk in data1:
      num+=len(chunk)
      chunksize=round(num/file_num+1)

      head,tail=os.path.split(filename)
      data2=pd.read_table(filename,chunksize=chunksize,header=None,sep=',')
      i=0
      for chunk in data2:
        chunk.to_csv('{0}_{1}{2}'.foemat(head,i,tail),header=None,index=False)
        print('保存第{0}个数据'.format(i))
        i+=1

filename='文件路径'
#num为拆分为的文件个数
Data_split(filename,num,header=True)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python 对多个csv文件分别进行处理的方法

    如下所示: import glob import time import csv csvx_list = glob.glob('*.csv') #打开文件夹下全部的CSV文件 print('总共发现%s个CSV文件'% len(csvx_list)) time.sleep(2) print('正在处理............') for i in csvx_list: #i既是正在处理的文件名 csvfile = open(i, encoding='utf-8') csvreader = csv

  • python写入数据到csv或xlsx文件的3种方法

    本文实例为大家分享了三种方式使用python写数据到csv或xlsx文件,供大家参考,具体内容如下 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-8 -*- import csv with open("my.csv", "a", newline='') as f: writer = csv.writer(f) writer.writerow(["URL", "predict", "

  • python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析

    字符串常用方法 # 去掉左右空格 'hello world'.strip() # 'hello world' # 按指定字符切割 'hello world'.split(' ') # ['hello','world'] # 替换指定字符串 'hello world'.replace(' ','#') # 'hello#world' csv模块 作用:将爬取的数据存放到本地的csv文件中 使用流程 导入模块 打开csv文件 初始化写入对象 写入数据(参数为列表) import csv with o

  • python读写csv文件方法详细总结

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv模块使不需要重新下载安装的,pandas模块需要按照对应的 python版本安装. 在python2环境下安装pandas的方式是: sudo pip install pandas 在python3环境下安装pandas的方式是: sudo pip3 install pandas 1.使用csv读写

  • python对csv文件追加写入列的方法

    python对csv文件追加写入列,具体内容如下所示: 原始数据 [外链图片转存失败(img-zQSQWAyQ-1563597916666)(C:\Users\innduce\AppData\Roaming\Typora\typora-user-images\1557663419920.png)] import pandas as pd import numpy as np data = pd.read_csv(r'平均值.csv') print(data.columns)#获取列索引值 dat

  • python数据处理之如何选取csv文件中某几行的数据

    前言 有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom. 我们要使用一下现成的函数里面的参数nrows,和skiprows,一个代表你要读几行,一个代表你从哪开始读,这就可以了,比如从第3行读取4个 示例代码 import pandas as pd df = pd.DataFrame({'a':[1,2,3,4,5,6,7,8,9],

  • Python将列表数据写入文件(txt, csv,excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace("'",'').replace(',','') +'\n' #去除单引号,

  • Python读取csv文件分隔符设置方法

    Windows下的分隔符默认的是逗号,而MAC的分隔符是分号.拿到一份用分号分割的CSV文件,在Win下是无法正确读取的,因为CSV模块默认调用的是Excel的规则. 所以我们在读取文件的时候需要添加分割符变量. import csv import os cwd = os.getcwd() print ("Current folder is %s" % (cwd) ) csvfile = open( cwd + '\data\eclipse\change-metrics.csv','r

  • Python拆分大型CSV文件代码实例

    这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # @FileName :Test.py # @Software PyCharm import os import pandas as pd # filename为文件路径,file_num为拆分后的文件行数 # 根据是否有表头执行不同程序,默认有表头

  • 基于python判断目录或者文件代码实例

    这篇文章主要介绍了基于python判断目录或者文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 判断目录是否存在 'isdir',删除目录时只有该目录为空才可以 'rmdir' import os if(os.path.isdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈')): #判断目录是否存在 print('yes') os.rmdir('D:/Python_work

  • Python读取表格类型文件代码实例

    这篇文章主要介绍了Python读取表格类型文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 resp = My_Request_Get(xls_url) # My_Request_Get是我自己封装的请求函数,可修改为requests请求 f = open('%s.xls' % _dic['title'], 'wb') f.write(resp.content) f.close() con_list = self.Read_

  • php操作csv文件代码实例汇总

    1.读取csv数据, 输出到sales.csv文件中: $sales = array( array('Northeast', '2004-01-01', '2004-02-01', 12.54), array('Northwest', '2004-01-01', '2004-02-01', 546.33), array('Southeast', '2004-01-01', '2004-02-01', 93.26), array('Southwest', '2004-01-01', '2004-0

  • Python读取mat文件,并转为csv文件的实例

    初学Python,遇到需要将mat文件转为csv文件,看了很多博客,最后找到了解决办法,代码如下: #方法1 from pandas import Series,DataFrame import pandas as pd import numpy as np import h5py datapath = 'E:/workspacelxr/contem/data.mat' file = h5py.File(datapath,'r') file.keys() def Print(name):prin

  • Python简单爬虫导出CSV文件的实例讲解

    流程:模拟登录→获取Html页面→正则解析所有符合条件的行→逐一将符合条件的行的所有列存入到CSVData[]临时变量中→写入到CSV文件中 核心代码: ####写入Csv文件中 with open(self.CsvFileName, 'wb') as csvfile: spamwriter = csv.writer(csvfile, dialect='excel') #设置标题 spamwriter.writerow(["游戏账号","用户类型","游戏

  • Python批量将csv文件转化成xml文件的实例

    一.前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据.CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符.通常,所有记录都有完全相同的字段序列,通常都是纯文本文件. 可扩展标记语言,标准通用标记语言的子集,简称XML.是一种用

  • python 通过 socket 发送文件的实例代码

    目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json download_dir = r'D:\Python\python_learning\gd\code\part3\02网络编程\文件传输\client\download' gd_client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) gd_client.connect((

  • Python使用pandas处理CSV文件的实例讲解

    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单的使用Excel表格工具进行处理,而且Excel表格处理的数据量十分有限,而使用Pandas来处理数据量巨大的CSV文件就容易的多了. 我用到的是自己用其他硬件工具抓取得数据,硬件环境是在Linux平台上搭建的,当时数据是在运行脚本后直接输出在termin

  • Python通过递归获取目录下指定文件代码实例

    这篇文章主要介绍了python通过递归获取目录下指定文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 获取一个目录下所有指定格式的文件是实际生产中常见需求. import os #递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path,file_list): dir_list=os.listdir(path) for x in dir_list: new_x=os.path.join(path,x) if

随机推荐