python xlwt写入excel_python xlwt模块生成excel文件并写入数据 xlrd读取数据

python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的.

1、xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作。

2、xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。

下面展示一下在flask项目中生成excel文件

代码Demo:

from flask imprt send_file, make_response

import xlwt,xlrd

# 生成写入

def taskinfo_excel_fun():

wb = xlwt.Workbook() # 创建excel文件

sheet = wb.add_sheet('My Sheet') # 为第一个表命名

content = [

['姓名', '性别', '年龄', '身高'],

[1, 1, 1, 1],

[2, 2, 2, 2],

[3, 3, 3, 3],

]

for i in range(len(content)):

for j in range(len(content[i])):

sheet .write(i, j, content[i][j])

# 也可以指定数据的格式样式

# style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00')

# style1 = xlwt.easyxf(num_format_str='D-MMM-YY')

# sheet.write(0, 0, 1234.56, style0)

# sheet.write(1, 0, datetime.now(), style1) 结果样式 见图三

file_path = os.path.join(os.getcwd(), UPLOAD_FOLDER) # 指定要保存的目录

if not os.path.exists(file_path): # 如果目录不存在,生成

os.mkdir(file_path)

file_path2 = file_path+'example.xls' # 文件的绝对路径

wb.save(file_path2)

return make_response(send_file(file_path2)) # 直接在前端页面生成要下载的文件

# 读取

def taskinfo_read_excel(file_path2):

import xlrd

book = xlrd.open_workbook(file_path2) # 读取excel文件对象

sheet_name = book.sheet_names() # ['A Test Sheet'] 获取所有的表名 以列表形式

print(sheet_name)

sheet = book.sheet_by_name(sheet_name[0]) # 根据表名获取表对象

sheet = book.sheet_by_index(0) # 根据索引获取表对象

nrows = sheet.nrows

ncols = sheet.ncols # 获取一共有 多少行和列 有数据

print(nrows)

print(ncols)

row_data = sheet.row_values(0) # 获取某行的所有数据 列表形式 ['姓名', '性别', '年龄', '身高']

col_data = sheet.col_values(0) # 列 数据 ['姓名', 1.0, 2.0, 3.0]

print(row_data)

print(col_data)

cell_value = sheet.cell_value(3, 0) # 获取指定单元格数据:3.0

print(cell_value)

cell_value = sheet.cell(3,0).value # 获取数据

cell_value = sheet.row(3)[0].value  # 获取数据

cell_value = sheet.col(0)[3].value   #获取数据

cell_value2 = sheet.cell(3, 0) # number:3.0 包含数据的类型

print(cell_value2)

图一:页面生成文件

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMzIzNTI1LzIwMTkwMi8xMzIzNTI1LTIwMTkwMjEzMTc1NTE1NTkzLTUwNjU2MTQxMC5wbmc=.jpg

图二:打开文件后

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMzIzNTI1LzIwMTkwMi8xMzIzNTI1LTIwMTkwMjEzMTc1NjMzNDgwLTIwNTE5NDEyODcucG5n.jpg

图三:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMzIzNTI1LzIwMTkwMi8xMzIzNTI1LTIwMTkwMjE0MTA0MTM1NTE2LTEzODM3Nzg2OTUucG5n.jpg

Python使用xlwt模块 操作Excel文件

导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

通过python xlsxwriter模块生成EXCEL柱状图、饼图

xlsxwriter模块不是python自带的,使用pip下载 import xlsxwriter #新建一个excel文件,起名为expense01.xlsx workbook = xlsxwrit ...

python之openpyxl生成excel文件

项目需要,需要自动生成PDF测试报告.经过对比之后,选择使用了reportlab模块. 项目背景:开发一个测试平台,供测试维护测试用例,执行测试用例,并且生成测试报告(包含PDF和excel),将生成 ...

Python xlwt模块写Excel问题集合

1.数字转换成汉字 数据库查询返回结果为多元组,在写入Excel需要判断,数据库查询结果是否为数字,为数字的话需要将其转换成对应的汉字,此时元组不可修改,所以需要将返回结果修改成列表.实现可以在数据库 ...

c# file 上传EXCEL文件,以流的形式读取数据

1.引入  Aspose.Cells public void test() { HttpFileCollection filelist = HttpContext.Current.Request.Fi ...

python之xlrd和xlwt模块读写excel使用详解

一.xlrd模块和xlwt模块是什么      xlrd模块是python第三方工具包,用于读取excel中的数据:      xlwt模块是python第三方工具包,用于往excel中写入数据: 二 ...

Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...

Python中xlrd和xlwt模块读写Excel的方法

本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较 ...

python读写Excel文件的函数--使用xlrd/xlwt

python中读取Excel的模块或者说工具有很多,如以下几种: Packages 文档下载 说明 openpyxl Download | Documentation | Bitbucket  The ...

随机推荐

h5容易遗忘的内容

1.表单中 input类型 小补充: 2.常用的表单元素 3.表单属性 4.表单事件 5.多媒体:音频和视频 5.1音频 5.2视频 6.Dom拓展

【来至百度百科】linux文件结构

文件结构 /:根目录,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. /bin:bin 就是二进制(binary)英文缩写.在一般的系统当中,都可以在这个目录 ...

Linux混杂设备驱动学习

Linux混杂设备是字符设备的一类,主要是混杂设备拥有相同的主设备号(10),但是次设备号是不同的.所有的混杂设备行程一个链表,对设备访问时内核更据次设备号查找到相应的混杂设备. 混杂设备用struc ...

Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾

基于Spring Security+Spring MVC的web应用,为了防止跨站提交攻击,通常会配置csrf,即: ... ...

JAVA 堆栈知识和Volatile关键字

栈内存:存放基本类型的变量和对象的引用 堆内存:存放用new创建的对象和数组 栈帧:保存了局部变量表,操作数栈,方法的返回地址以及其它的附加信息 volatile修饰的变量,jvm虚拟机只是保证从主内 ...

c#调用c++动态链接库的问题

1. Server Error in '/' Application. Object reference not set to an instance of an object. 这个问题是接口中的方 ...

VIM树状文件列表NERDTree

下载和配置 NERDTree插件的官方地址如下,可以从这里获取最新的版本 https://github.com/scrooloose/nerdtree 下载zip安装包 或者使用下面官网源文件安装方法 ...

SGU 152.Making round

不断向下取直到,忽略的数累计到一个百分比,给当前百分比加1. 这道题要避免处理浮点数,用余数来处理,不然会wa 9 #include #include

Babel 入门指南

Babel 入门指南 ​⚠️ 注意: Babel 可以与很多构建工具(如 Browserify.Grunt.Gulp 等)进行集成.由于本教程选择 Webpack ,所以只讲解与 Webpack 的集 ...

2017年最适用于WIFI HACK的无线网卡推荐

http://www.freebuf.com/articles/wireless/140065.html 相信很多初次使用Kali Linux来进行无线渗透的小伙伴都曾遇到过一个非常头疼的问题,就是不 ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值