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中多线程thread与threading的实现方法
Aug 18 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
如何用python写一个简单的词法分析器
Dec 18 Python
python实现flappy bird小游戏
Dec 24 Python
利用Python如何实时检测自身内存占用
May 09 Python
django 模型中的计算字段实例
May 19 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 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程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
广告显示判断
2006/08/31 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
Python的Django框架安装全攻略
2015/07/15 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
Python中字符串与编码示例代码
2019/05/20 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
一行python实现树形结构的方法
2019/08/09 Python
Python如何给函数库增加日志功能
2020/08/04 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
党员演讲稿
2014/09/04 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
回复函范文
2015/07/14 职场文书
《正比例》教学反思
2016/02/23 职场文书
Python打包为exe详细教程
2021/05/18 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫