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模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
Python可迭代对象操作示例
May 07 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
详解Python self 参数
Aug 30 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
Django框架安装及项目创建过程解析
Sep 14 Python
python程序的组织结构详解
Dec 06 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
javascript常见用法总结
2014/05/22 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
用实例分析Python中method的参数传递过程
2015/04/02 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
文秘档案管理岗位职责
2014/03/06 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
活动总结书
2014/05/08 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
旷工检讨书1000字
2015/01/01 职场文书
保研推荐信范文
2015/03/25 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android