python读写大文件excel_python 读写 Excel文件
一、用xlrd和xlwt读写excel
首先下载安装xlrd和xlwt这两个库。
1、打开excel
readbook = xlrd.open_workbook(r'\test\canying.xlsx')
2、获取读入的文件的sheet
sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
sheet = readbook.sheet_by_name('sheet2')#名字的方式
3、获取sheet的最大行数和列数
nrows = sheet.nrows#行
ncols = sheet.ncols#列
4、获取某个单元格的值
lng = table.cell(i,3).value#获取i行3列的表格值
lat = table.cell(i,4).value#获取i行4列的表格值
5、打开将写的表并添加sheet
writebook = xlwt.Workbook()#打开一个excel
sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet
6、将数据写入excel
sheet.write(i,0,result[0])#写入excel,i行0列
sheet.write(i,1,result[1])
7、保存
writebook.save('answer.xls')#一定要记得保存
相关代码
# coding=utf-8
import xlrd
import xlwt
import datetime
import os
class excelProcess:
def __init__(self,keywordExcelFile,mainExcelFile):
self.keywordExcelFile = keywordExcelFile
self.mainExcelFile = mainExcelFile
def WriteLog(self, message,date):
fileName = os.path.join(os.getcwd(), date + '.txt')
with open(fileName, 'a') as f:
f.write(message)
def WriteSheetRow(self,sheet, rowValueList, rowIndex, isBold):
i = 0
style = xlwt.easyxf('font: bold 1')
# style = xlwt.easyxf('font: bold 0, color red;')#红色字体
# style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;') # 设置Excel单元格的背景色为黄色,字体为粗体
for svalue in rowValueList:
if isBold:
sheet.write(rowIndex, i, svalue, style)
else:
sheet.write(rowIndex, i, svalue)
i = i + 1
def save_Excel(self):
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet1', cell_overwrite_ok=True)
headList = ['IR_SITENAME', 'IR_AUTHORS', 'SY_INFOTYPE', 'RID', 'IR_URLTITLE','SY_KEYWORDS',
'IR_URLNAME', 'IR_URLTIME',
'IR_GROUPNAME', 'IR_CHANNEL',
'SY_BB_COMMON', 'summary', 'keyword'
]
rowIndex = 0
self.WriteSheetRow(sheet, headList, rowIndex, True)
for i in range(1, 11):
rowIndex = rowIndex + 1
valueList = []
for j in range(1, 14):
valueList.append(j * i)
self.WriteSheetRow(sheet, valueList, rowIndex, False)
fileName = os.path.join(os.getcwd(),'test.xlsx')
wbk.save(fileName)
二、使用openpyxl库读写excel
xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576。
如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format
首先需要导入 import openpyxl
1、打开excel
2、获取打开的excel的sheet内容
3、获取sheet的最大行数和列数
4、获取某个单元格的值
print(ws.cell(1,1).value)
5、打开将写的表并添加sheet
6、保存
完整代码
def readExel(self):
filename = r'D:\work\Excel_txtProcesss\new-微博-合并\58.xlsx'
inwb = openpyxl.load_workbook(filename) # 读文件
sheetnames = inwb.get_sheet_names() # 获取读文件中所有的sheet,通过名字的方式
ws = inwb.get_sheet_by_name(sheetnames[0]) # 获取第一个sheet内容
# 获取sheet的最大行数和列数
rows = ws.max_row
cols = ws.max_column
for r in range(1,rows):
for c in range(1,cols):
print(ws.cell(r,c).value)
if r==10:
break
def writeExcel(self):
outwb = openpyxl.Workbook() # 打开一个将写的文件
outws = outwb.create_sheet(index=0) # 在将写的文件创建sheet
for row in range(1,70000):
for col in range(1,4):
outws.cell(row, col).value = row*2 # 写文件
print(row)
saveExcel = "D:\\work\\Excel_txtProcesss\\test.xlsx"
outwb.save(saveExcel) # 一定要记得保存
三、
style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;')
在设置上Excel单元格的背景色时,fore_colour 支持的颜色是有限的,仅支持一下颜色
aqua 0x31
black 0x08
blue 0x0C
blue_gray 0x36
bright_green 0x0B
brown 0x3C
coral 0x1D
cyan_ega 0x0F
dark_blue 0x12
dark_blue_ega 0x12
dark_green 0x3A
dark_green_ega 0x11
dark_purple 0x1C
dark_red 0x10
dark_red_ega 0x10
dark_teal 0x38
dark_yellow 0x13
gold 0x33
gray_ega 0x17
gray25 0x16
gray40 0x37
gray50 0x17
gray80 0x3F
green 0x11
ice_blue 0x1F
indigo 0x3E
ivory 0x1A
lavender 0x2E
light_blue 0x30
light_green 0x2A
light_orange 0x34
light_turquoise 0x29
light_yellow 0x2B
lime 0x32
magenta_ega 0x0E
ocean_blue 0x1E
olive_ega 0x13
olive_green 0x3B
orange 0x35
pale_blue 0x2C
periwinkle 0x18
pink 0x0E
plum 0x3D
purple_ega 0x14
red 0x0A
rose 0x2D
sea_green 0x39
silver_ega 0x16
sky_blue 0x28
tan 0x2F
teal 0x15
teal_ega 0x15
turquoise 0x0F
violet 0x14
white 0x09
yellow 0x0D"""
另外一种方式是 用pyExcelerator
View Code
python读写大文件excel_python 读写 Excel文件相关推荐
- 小白用python处理excel文件-Python3操作Excel文件(读写)的简单实例
安装 读Excel文件通过模块xlrd 写Excel文件同过模块xlwt(可惜的是只支持Python2.3到Python2.7版本) xlwt-future模块,支持Python3.X,用法据说与xl ...
- Python使用openpyxl和pandas处理Excel文件实现数据脱敏案例一则
推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷 送书活动火爆进行中:董老师又双叒叕送书啦,30本 ...
- python 导出大量数据到excel_怎么在python中将大量数据导出到Excel文件
怎么在python中将大量数据导出到Excel文件 发布时间:2021-01-16 11:09:40 来源:亿速云 阅读:76 作者:Leah 这期内容当中小编将会给大家带来有关怎么在python中将 ...
- excel数据导入python后不对齐_Python处理Excel文件的实用姿势
真正的勇士,敢于直面银行卡上的余额,敢于正视磅秤上的数字. 表格数据是最常见的数据类型,Excel是日常办公中最常接触的文件. 上一章提过Python可以通过openpyxl模块处理Excel文件. ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- pandas 导入excel_三行Python代码,合并多个Excel文件
嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默... 下面是三个Excel文件内容: 下面是生成的汇总表: 第一步:安装相关包并导入 只用到了Python自带的OS模块, ...
- 使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(下篇)
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 野火烧不尽,春风吹又生. 大家好, ...
- python pandas合并多个excel,三行Python代码,合并多个Excel文件
嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默... 下面是三个Excel文件内容: 下面是生成的汇总表: 第一步:安装相关包并导入 只用到了Python自带的OS模块, ...
- Python合并同文件夹下面Excel文件并且求和汇总
Python合并同文件夹下面Excel文件并且求和汇总 将程序放到Excel的文件夹下执行即可 import openpyxl,os,xlrd,time import pandas as pd imp ...
- 使用Python解决对比出两个Excel文件中的不同项并将结果重新写入一个新的Excel文件
使用Python解决对比出两个Excel文件中的不同项并将结果重新写入一个新的Excel文件 因为有统计成员到会情况的任务,每次汇总时都很麻烦,需要一个个对应腾讯会议导出名单的成员,然后在总表上进行标 ...
最新文章
- python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法
- MEDC2007北京游记 - WindowsMobile Ophone
- python财务预算分析_财码Python管理会计小实验—营运管理之多维度盈利能力分析...
- HTML与CSS基础之常用选择器(一)
- BZOJ4012 [HNOI2015]开店
- c# 指定打开某个路径下的CMD_【自学C#】|| 笔记 25 文件的操作
- Redis学习---Redis操作之String
- 7. 吴恩达机器学习课程-作业7-Kmeans and PCA
- 用大前端技术实现的一款仿Boss直聘app(已开源)
- 上周热点回顾(5.8-5.14)
- 【沧海拾昧】微机原理:可编程串行接口芯片8251A
- java imageio 保存_java-ImageIO保存回原始大小
- 使用GeoGebra绘制三角形的外接圆和内切圆
- 使用华为nexus6p进行拍并照裁剪图片和从相册裁剪图片
- Windows配置SSHKey到GItHub
- [android源码下载索引贴】微信+二维码那都不是事......
- 服务端没有 listen,客户端发起连接建立,会发生什么?
- [Python]如何快速知道要使用哪些python模块和有哪些功能
- Linux rm命令 回收机制
- 数控加工插补功能指令
热门文章
- 最简单的平面制图用什么软件_建筑绘图用什么软件好?AUTO CAD软件快速制图,工程人必备...
- 人脸定位原来这么简单,小白也能上手人脸识别——人脸识别概述
- 只用1年时间,机械品牌在国际电焊界名声大噪,看他是如何玩转kol网红营销的
- 题解 P2285 【[HNOI2004]打鼹鼠】
- 【宇宙编码】厉害,生日那天:程序员小哥把天上的宇宙星云都送给女神了~
- 计算机报名备注信息填什么,【教你报名】国考应届生个人信息怎么填,审核过了还能改吗?...
- fastadmin 子账号看不到菜单,菜单没有查看,编辑等选项
- 上学最恐怖的事在于上课前点名签到,尤其这个签到脚本更恐怖。
- 程序员可以选择哪些平台写技术博客?
- [Python练习-文件] 多目录下的字幕vtt转srt