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实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python切换pip安装源的方法详解
Nov 18 Python
代码讲解Python对Windows服务进行监控
Feb 11 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
python 魔法函数实例及解析
Sep 25 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python更改pip镜像源的方法示例
Dec 01 Python
Python内置数据类型中的集合详解
Mar 18 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
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
PHP strripos函数用法总结
2019/02/11 PHP
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
js密码强度检测
2016/01/07 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
python网络编程之文件下载实例分析
2015/05/20 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
使用python画社交网络图实例代码
2019/07/10 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
2014年开学第一课活动方案
2014/03/06 职场文书
家长写给老师的建议书
2014/03/13 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers