zoukankan      html  css  js  c++  java
  • 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)

      

    图一:页面生成文件

     图二:打开文件后

     

     图三:

  • 相关阅读:
    IT经典书籍——Head First系列【推荐】
    IT经典书籍——Head First系列【推荐】
    使用JSP实现用户登录
    使用JSP实现用户登录
    【知乎精选】如何面试一个产品经理?如何判断一个产品经理是否是一个很牛的产品经理?
    淘宝API总结
    「用户标签」在数据库设计时应该如何存储?
    【爬虫集合】抖音API分析
    商业架构体系
    短视频带货
  • 原文地址:https://www.cnblogs.com/We612/p/10371236.html
Copyright © 2011-2022 走看看