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

时间:2022-11-01 08:30:52

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读取数据

图二:打开文件后

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

图三:

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

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. dede使用方法----如何调用最新文章,最热文章,友情链接

    dede如何调用最新文章 {dede:arclist      row='5'       titlelen='50'    orderby ='pubdate'} <li><a h ...

  2. gcc 4&period;8&period;3 install centos

    http://blog.csdn.net/xlx921027/article/details/17382643

  3. 给VPS装桌面

    转自:百度经验  致谢! 1.首先我们要先升级一下软件源给安装桌面环境做准备. 执行命令:apt-get update   2.安装桌面环境或窗口管理器: apt-get install xubunt ...

  4. NGINX关于配置PATHINFO

    最近在群里发现有很多小白不会配置pathinfo现贴出来配置代码照着配置就可以了     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...

  5. iOS8推送消息的回复处理速度

    iOS8我们有一个新的通知中心,我们有一个新的通报机制.当在屏幕的顶部仅需要接收一个推拉向下,你可以看到高速接口,天赋并不需要输入应用程序的操作.锁定屏幕,用于高速处理可以推动项目. 推送信息,再次提 ...

  6. 2019&period;03&period;26 bzoj4446&colon; &lbrack;Scoi2015&rsqb;小凸玩密室(树形dp)

    传送门 题意简述: 给一棵完全二叉树,有点权aia_iai​和边权,每个点有一盏灯,现在要按一定要求点亮: 任意时刻点亮的灯泡必须连通 点亮一个灯泡后必须先点亮其子树 费用计算如下:点第一盏灯不要花费 ...

  7. 宝塔Linux面板 - 7月4日更新 - 5&period;9免费版

    官网地址:https://www.bt.cn/bbs/thread-1186-1-1.html 安装要求: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:128M以上,推荐512M ...

  8. Treap树 笔记

    预备知识:二叉查找树.堆(heap).平衡二叉树(AVL)的基本操作(左旋右旋) 定义: Treap.平衡二叉树.Tree+Heap.树堆. 每个结点两个键值(key.priority). 性质1. ...

  9. Python中加入中文注释

    最近开发学习Pyton,当加入中文注释时,运行程序报错: File SyntaxError: Non-ASCII character , but no encoding declared; see h ...

  10. &period;11-浅析webpack源码之Storage模块

    至此已完成NodeJsInputFileSysten模块的讲解,下一步就是实际实用的模块: compiler.inputFileSystem = new CachedInputFileSystem(n ...