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)
图一:页面生成文件
图二:打开文件后
图三:
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来进行无线渗透的小伙伴都曾遇到过一个非常头疼的问题,就是不 ...