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. 2018.12/6 js键盘事件 DOM:0级2级

    DOM0级事件元素绑定多个click最后只执行最后一个click. DOM2级事件元素绑定多个click,都要执行 注意当绑定的多个事件名,函数名,事件发生阶段三者完全一样时,才执行最后一个 div. ...

  2. nth-child(n)和nth-of-type(n)的区别

    1.官方解释: p:nth-child(2)     选择属于其父元素的第二个子元素的每个 <p> 元素. p:nth-of-type(2) 选择属于其父元素第二个 <p> 元 ...

  3. ButterKnife注解式绑定控件

    Butter Knife Android为控件设计的注解绑定库. github地址:https://github.com/JakeWharton/butterknife 添加依赖:(具体看github ...

  4. MySQL分数排名同分并列与不并列查询

    Scores表 | Id | Score | | 3.50 | | 3.65 | | 4.00 | | 3.85 | | 4.00 | | 3.65 | 并列 | Score | Rank | | | ...

  5. EntityFramework Code-First 简易教程(六)-------领域类配置之DataAnnotations

    EF Code-First提供了一个可以用在领域类或其属性上的DataAnnotation特性集合,DataAnnotation特性会覆盖默认的EF约定. DataAnnotation存在于两个命名空 ...

  6. 【原】Java学习笔记009 - 阶段测试

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 1.需求:打印如下 ...

  7. per-CPU变量

    为什么需要per-CPU变量 假设系统中有4个cpu, 同时有一个变量在各个CPU之间是共享的,每个cpu都有访问该变量的权限. 当cpu1在改变变量v的值的时候,cpu2也需要改变变量v的值.这时候 ...

  8. 【idea】Springboot整合jpa

    第一步快速搭建springboot项目:在你建立的工程下创建 Module 选择Spring initializr创建. 第二步:修改包名.项目名.web项目打成war包.在Type处选择: Mave ...

  9. javascript Json和String互转

      var jsonText = "{\"id\":\"123\",\"name\":\"tom\",\&qu ...

  10. FreeFileSync 文件同步软件(windows)

    还有个更好的win同步软件,非常推荐使用: https://roov.org/2016/07/allway-sync/ 官方下载地址:https://freefilesync.org/download ...