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网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
python实现在字符串中查找子字符串的方法
Jul 11 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
Python基础教程之利用期物处理并发
Mar 29 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
Python 如何提高元组的可读性
Aug 26 Python
Python中的延迟绑定原理详解
Oct 11 Python
python读取xml文件方法解析
Aug 04 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
Python利用folium实现地图可视化
May 23 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实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Python内置数据类型详解
2014/08/18 Python
python私有属性和方法实例分析
2015/01/15 Python
python数组复制拷贝的实现方法
2015/06/09 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python十进制转二进制的详解
2020/02/07 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
如何表示python中的相对路径
2020/07/08 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
函数指针的定义是什么
2016/08/14 面试题
网络安全方面的面试题
2015/11/04 面试题
新员工欢迎词
2014/01/12 职场文书
教师节学生演讲稿
2014/09/03 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
详解Vue router路由
2021/11/20 Vue.js
element tree树形组件回显数据问题解决
2022/08/14 Javascript