Fork me on GitHub

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)

  

图一:页面生成文件

 图二:打开文件后

 

 图三:

 

posted @ 2019-02-13 18:00  路痴队长  阅读(2057)  评论(0编辑  收藏  举报