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中的序列化与反序列化的使用
Jun 30 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
Django自定义manage命令实例代码
Feb 11 Python
在pycharm上mongodb配置及可视化设置方法
Nov 30 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
django实现web接口 python3模拟Post请求方式
Nov 19 Python
python支持多线程的爬虫实例
Dec 21 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
Python实现滑雪小游戏
Sep 25 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 Python
Python采集壁纸并实现炫轮播
Apr 30 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
使用无限生命期Session的方法
2006/10/09 PHP
php获得文件扩展名三法
2006/11/25 PHP
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php 全局变量范围分析
2009/08/07 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
php中动态修改ini配置
2014/10/14 PHP
php常见的魔术方法详解
2014/12/25 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
常用python编程模板汇总
2016/02/12 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
python日期相关操作实例小结
2019/06/24 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
基于keras中的回调函数用法说明
2020/06/17 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
后勤工作职责
2013/12/22 职场文书
大学生毕业鉴定
2014/01/31 职场文书
气象学专业个人求职信
2014/03/15 职场文书
企业文化理念标语
2014/06/10 职场文书
搞笑的获奖感言
2014/08/16 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
运动会加油稿
2015/07/22 职场文书