栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-10-13

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-13

csv文件利用pandas进行拆分
import os
import pandas as pd

# filename是文件路径,filenum为拆分后的文件行数
# 根据是否有表头执行不同程序,默认有表头的
def Data_split(filename,filenum,header=True):
     if header:
         # 设置每个文件需要有的行数,初始化为1W
         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/filenum+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/filenum+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='E://人工标注.csv'
#num为拆分为的文件个数
Data_split(filename,num,header=True)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号