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中的两个内置模块介绍
Apr 05 Python
python修改操作系统时间的方法
May 18 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
numpy np.newaxis 的实用分享
Nov 30 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
python重要函数eval多种用法解析
Jan 14 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
第十一节--重载
2006/11/16 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
python模块restful使用方法实例
2013/12/10 Python
python list转dict示例分享
2014/01/28 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
Python使用剪切板的方法
2017/06/06 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
担保书格式及范文
2014/04/01 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
护理专业自荐书
2014/06/04 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
关于倡议书的范文
2015/04/29 职场文书
交通事故责任认定书
2015/08/06 职场文书
党员读书活动心得体会
2016/01/14 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
Python快速实现一键抠图功能的全过程
2021/06/29 Python
Python内置的数据类型及使用方法
2022/04/13 Python