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文件并写入数据 xlrd读取数据的更多相关文章

  1. Python使用xlwt模块 操作Excel文件

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

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

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

  3. python之openpyxl生成excel文件

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

  4. Python xlwt模块写Excel问题集合

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)

    简介:TypeParameterResolver是一个工具类,提供一系列的静态方法,去解析类中的字段.方法返回值.方法参数的类型. 在正式介绍TypeParameterResolver之前,先介绍一个 ...

  2. JS 无限长form表单提交

    1 简介 开发时候,总会遇到根据后台传的变量{组件数}来动态渲染组件的情况,比如后台传命令要绑定10个父子关系,则前台展开十个input组件,后台决定绑定5个福字关系,则前台展开5个input组件.再 ...

  3. ecstore 安装后提示require function does not exist in....

    解决: 安装好后,修改config.php里的TMP_DIR,指向网站目录下的data目录(用绝对路径) // define('TMP_DIR', '/data/www/data/tmp/');  先 ...

  4. 后端开发者的Vue学习之路(五)

    目录 上节内容回顾 使用第三方组件库 如何发起请求 请求错误处理 请求带参 以get的方式带参: 以post的方式带参: 封装处理 请求的配置 axios实例 实现调用自定义函数来发起请求 抽取axi ...

  5. 文件类型解析漏洞防御与攻击(PHP)

    简介: 解析漏洞主要是一些特殊文件被iis.Apache.Nginx等服务在某种情况下解释成脚本文件格式并得以执行而产生的漏洞,一般的思路都是用图片木马来欺骗服务器,上传webshell,达到提权的目 ...

  6. 轨迹系列1——一种基于路网图层的GPS轨迹优化方案

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 GPS数据正常情况下有20M左右的偏移,在遇到高楼和桥梁等情况 ...

  7. MySQL 常用指令小结

    l  创建数据库:CREATE DATABASE table_name; l  删除数据库:DROP DATABASE table_name; l  展示数据库:SHOW DATABASE; l  选 ...

  8. 微信小程序控件 横/纵向排列

    控件(按钮)横向排列 wxss .view_class { display: flex; flex-direction: row; justify-content: center; } 控件(按钮)纵 ...

  9. Oracle database link中查询会开启事务吗?

    关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...

  10. Ubuntu 把最小化、最大化和关闭按钮放到右边

    1.按下"Ctrl+Alt+T"或者"ALT+F2"调出终端 2.输入"gconf-editor",回车.如果未安装gconf-editor ...