美文网首页
2018-07-31Python (10)

2018-07-31Python (10)

作者: 棕色试剂瓶 | 来源:发表于2018-07-31 08:20 被阅读0次

    python基础语法(10)

    读写数据——Excel

    1. 安装openpyxl

       pip install openppyxl  
      
    2. 打开文件
      导入模块:

       from openpyxl import load_workbook   
      
    3. 写入数据

      代码示例:

       # 写入数据
       #--------------------类似于使用excel创建表格----------------------
               # 1. 打开一个空白的工作表
               # 2. 在工作表中新建一个工作簿
               # 3. 将数据写入工作簿
               # 4. 保存工作表文件并命名
       #--------------------------------------------------------------
       from openpyxl import Workbook
       try:
           # 创建工作表
           wb = Workbook()
           # 新建工作表,index用来指定其在工作簿中的位置
           sheet = wb.create_sheet('Data',index=1) # index = 0 是第一个工作表
       
           # 删除某个工作表
           # wb.remove(wb)
           # del wb[sheet]
           # row = [1,2,3,4,5]
           # sheet.append(row)
       
           # 定义数据
           rows = [
               ["id","name","mark"],
               ["001","daming",90],
               ["002","lingling",98]
           ]
       
           # 将定义好的数据遍历逐条加入工作簿中
           for row in rows:
               sheet.append(row)
           # 将工作表保存,创建名为“飞天小分队”的xlsx文件
           wb.save(r"飞天小分队.xlsx")
       except Exception as ex:
           print(ex)    
      

      如果不执行save方法,就不会创建.xlsx文件;文件会默认创建在此代码所在的相同目录下。

    4. 读取数据 (通过安装 xlrd模块实现)

      • 导入模块

          import xlrd
        
      • 打开Excel文件读取数据

          data = xlrd.open_workbook('data.xlsx')  
        
      • 获取动作表

          table = data.sheets()[1]    # 通过索引顺序获取
          table = data.sheet_by_index(1)  # 通过索引顺序获取
          table = data.sheet_by_name(u"Data") #通过名称获取         
        
      • 获取整行和整列的值(数组)

          table.row_values(1) # 整行
          table.col_values(1) # 整列  
        
      • 获取行数和列数

          nrows = table.nrows # 获取行数
          ncols = table.ncols # 获取列数
        
      • 循环行列表数据

          for i in range(nrows):
              print(table.row_values(i))
        
      • 单元格

          cell_A1 = table.cell(0,0).value
          cell_C4 = table.cell(2,2).value
        
      • 使用行列索引

          cell_A1 = table.row(0)[2].value
          cell_A2 = table.col(2)[1].value
        

    简单的写入

    row = 0 # 行数
    col = 0 # 列数
    # 类型 0 empty;1 string; 2 number; 3 date; 4 boolean; 5 error;
    ctype = 1 # 单元格类型
    value = 'hello' # 值
    xf = 0 # 扩展的格式化(没搞懂是什么意思)
    
    # table.put_cell(row, col, ctype, value, xf)
    table.put_cell(1, 1, 1, "hello",0)
    table.cell(1,1) # 单元格的值
    table.cell(0,0).value # 单元格的值
    
    print(table.cell(1,1).value)            
    

    相关文章

      网友评论

          本文标题:2018-07-31Python (10)

          本文链接:https://www.haomeiwen.com/subject/zkkcvftx.html