python拆分excel文件

原创 2018年04月16日 19:02:35

当我们遇到一些很大的文件时,如果把所有的数据全部加入到内存当中处理,当文件比较小时还好,但是问价你很大时,这种方式是很不好的,当超过十几个G的文件时,我们该如何处理呢?

python可以很好的处理这个问题,可以把大文件给一个个拆分成小文件,然后我们再一次去处理小文件即可,本篇博客小主就写一个简单拆分excel方法供大家参考

这里我随便找了一个文件,里面有26行数据,我们把每10行数据拆分成一个excel文件,并且在每个文件中都有表头

要拆分文件我们需要两个模块,即:xlrd和xlwt,大家自行下载

下面开始上代码:

#!/usr/bin/env python3
# encoding:utf-8
'''
@author: lierl
@file: do_split_excel.py
@time: 2018/4/13 17:28
'''
__author__ = 'lierl'

import xlrd
import xlwt

limit = 10
readbook = "E:\\aaa.xlsx" #原始文件路径
savebook = "e:\\files" #要保存的目录
data = xlrd.open_workbook(readbook)
# 获取sheet
table = data.sheets()[0]#获取第一个sheet的所有数据

# 行数
nrows = table.nrows
# 列数
ncols = table.ncols

sheets = nrows / limit#总共需要多少excel

if not sheets.is_integer():#如果不是整除则需要+1
    sheets = sheets + 1

title_row = table.row_values(0)#获取首行的标题
#
for i in range(0, int(sheets)):
    workbook = xlwt.Workbook(encoding='ascii')
    worksheet = workbook.add_sheet(sheetname="0")#设置sheet名称
    for col in range(0,ncols):#写首行的标题
        worksheet.write(0, col, title_row[col])
    for row in range(1, limit+1):#每次循环limit        newRow = row+limit*i
        if newRow < nrows:
            row_content = table.row_values(newRow)
            for col in range(0, ncols):
                worksheet.write(row, col, row_content[col])
    workbook.save(savebook+"\\"+str(i)+".xlsx")

运行代码之后:

生成了三个文件

前两个文件中每个里面都有十条数据,第三个里面有6条数据,大家可以亲手运行一下


努力成就非凡,请不要再最该奋斗的年纪选择安逸

版权声明: https://blog.csdn.net/liereli/article/details/79964645

EXCEL VBA编程(excel办公高手必经之路)

宏基础 VBA编程基础 常用语句(分支、循环语句的基础及应用) VBA结合工作表的函数功能的应用等
  • 2016年02月02日 21:07

python高手之路python处理excel文件(方法汇总)

用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以...
  • tree_java
  • tree_java
  • 2017-04-26 20:56:32
  • 2403

Python 大文件分割

http://www.okpython.com/bbs/thread-2246-1-7.html我们知道,一个EXCEL文件单表行数最多是65536行,超过这个行数,就无法再EXCEL中显示,在日常工...
  • gracioushe
  • gracioushe
  • 2010-09-30 10:56:00
  • 1196

利用Python将多个excel文件合并为一个文件

利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。...
  • d1240673769
  • d1240673769
  • 2017-07-06 01:08:14
  • 3909

使用Python处理Excel文件

引子最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理。以前正好在一本书上...
  • yankaiwei120
  • yankaiwei120
  • 2016-08-14 14:54:58
  • 14497

python3结巴分词分行拆分统计词频

python3 和 python2 的语法差异应该是最蛋疼的事情了 dict本来就是没有顺序的吧 把dict转换成list 再去排序就会比较好了 #!/usr/bin/env python3 # -*...
  • WhereYouSink
  • WhereYouSink
  • 2017-11-23 11:23:37
  • 953

python拆分excel文件

当我们遇到一些很大的文件时,如果把所有的数据全部加入到内存当中处理,当文件比较小时还好,但是问价你很大时,这种方式是很不好的,当超过十几个G的文件时,我们该如何处理呢?python可以很好的处理这个问...
  • liereli
  • liereli
  • 2018-04-16 19:02:35
  • 39

python各个读写excel模块的对比

【转载】https://zhidao.baidu.com/question/179527400039102004.html
  • ibiao
  • ibiao
  • 2017-06-14 13:26:06
  • 1413

python实现分割文件

我们有时候需要对大文件进行分割,从而就可以在记事本等软件中打开以便好做处理,现在使用Python实现一个文件分割的功能,可以按照指定的大小分割文件为一系列子文件。 见代码: #!/usr/bi...
  • onlyanyz
  • onlyanyz
  • 2015-04-12 10:48:43
  • 2496

Python Excel解析

Python解析Excel时需要安装两个包,分别是xlrd(读excel)和xlwt(写excel),安装方法如下:pip install xlrd pip install xlwt 读取Excel表...
  • SeeTheWorld518
  • SeeTheWorld518
  • 2015-10-31 21:27:46
  • 7394
收藏助手
不良信息举报
您举报文章:python拆分excel文件
举报原因:
原因补充:

(最多只允许输入30个字)