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 18 Python
python获取指定目录下所有文件名列表的方法
May 20 Python
Django与JS交互的示例代码
Aug 23 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Python实现求一个集合所有子集的示例
May 04 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
基于python调用psutil模块过程解析
Dec 20 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
利用Python发送邮件或发带附件的邮件
Nov 12 Python
Python3+Flask安装使用教程详解
Feb 16 Python
如何用python插入独创性声明
Mar 31 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中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python随手笔记之标准类型内建函数
2015/12/02 Python
详解python中的Turtle函数库
2018/11/19 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
python 高阶函数简单介绍
2021/02/19 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
建筑学推荐信
2013/11/03 职场文书
员工入职担保书范文
2014/04/01 职场文书
竞选部长演讲稿
2014/04/26 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python