Python这样操作能存储100多万行的xlsx文件


Posted in Python onApril 16, 2019

(1) 如果excel文件是xls,2003版的,使用xlrd和xlwt库来对xls文件进行操作

(2) 如果excel文件是xlsx,2007以上版的,使用openpyxl库来对xlsx文件进行操作

Tips:xlrd、xlwt和openpyxl非python自带库。

我们使用Python做数据挖掘和分析时候,当数据行超过一定数量,xls文件是存不下的。显然无法满足我们的大量数据存储需求,这个时候需要改用xlsx。

那具体xls和xlsx最大分别可以存多少行呢?

(1) 对于2003版本的xls文件,最大行数是65536行

(2) 对于2007版本的xlsx文件,最大行数是1048576行

闲话不多聊,直接上代码干货

!/usr/bin/env python3
- - coding: utf-8 - -

读写2007 excel

import pprint
import openpyxl
import openpyxl.styles
from openpyxl.styles import Font,colors

读取Excel文件

def readExcel(filename):
workbook = openpyxl.load_workbook(filename)
worksheet = workbook['用户']
list = []
for row in worksheet.rows: # 1行1行读
lineData = [] # 行数据
col = 1
for cell in row:
lineData.append(cell.value) # 1列1列读
col = col + 1
list.append(lineData)
return list

操作数据

def operateData(filename):
list = readExcel(filename)

去除第一行,第一行是表头

list.pop(0)
pprint.pprint(list)
pprint.pprint("先按性别排序,再按身高排序")

要对身高进行排序,但是男女有别

先按性别排序,再按身高排序

list.sort(key=lambda ele: (ele[3], ele[4]))
pprint.pprint(list)

获取Excel标签列表

比如第5行标签列表,总共4列 ['A5', 'B5', 'C5', 'D5']

def getTagList(index, colNum):
tagList = []
for i in range(0, colNum):

A的ascii码值65

tag = chr(65 + i) + str(index)
tagList.append(tag)
return tagList

写入Excel文件

def writeExcel(outputFilePath, list):
book = openpyxl.Workbook()
sheet = book.create_sheet("用户", 0)
sheet.title = "用户" # sheet名称
rowNum = len(list)
try:

1行1行读取

for i in range(1, rowNum + 1): # 下标从1开始
datalist = list[i -1] # 读取1行
col = 1

1列1列写入

for data in datalist:
sheet.cell(i, col, data) #写入内容
col += 1

获取标签列表

tagList = getTagList(i, len(datalist))
font = Font('微软雅黑', size = 14, color = '333333')

设置单元格字体、字号、颜色

for tag in tagList:
sheet[tag].font = font # 设置字体

保存文件

book.save(outputFilePath)
except Exception as e: # 捕获异常
print(e)

主函数

if name == " main ":
print("读取xlsx格式的数据")
userList = readExcel('user.xlsx')
print("写入xlsx文件")
writeExcel("user2.xlsx", userList)
print("操作数据")
operateData('user.xlsx')

Python这样操作能存储100多万行的xlsx文件

总结

以上所述是小编给大家介绍的Python这样操作能存储100多万行的xlsx文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
Python数据类型学习笔记
Jan 13 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
django解决跨域请求的问题详解
Jan 20 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
Pytorch Tensor的统计属性实例讲解
Dec 30 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
tensorflow之读取jpg图像长和宽实例
Jun 18 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 Python
Python字符串内置函数功能与用法总结
Apr 16 #Python
python3实现字符串操作的实例代码
Apr 16 #Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 #Python
Django之无名分组和有名分组的实现
Apr 16 #Python
Pythony运维入门之Socket网络编程详解
Apr 15 #Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 #Python
Python 编程速成(推荐)
Apr 15 #Python
You might like
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
Python爬取APP下载链接的实现方法
2016/09/30 Python
python实现名片管理系统项目
2019/04/26 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
平面设计师的工作职责
2013/11/21 职场文书
大学生军训广播稿
2014/01/24 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
母亲节演讲稿
2014/05/27 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
Python必备技巧之函数的使用详解
2022/04/04 Python
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS