zoukankan      html  css  js  c++  java
  • Python|读、写Excel文件(三种模块三种方式)

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别:

    用xlrd和xlwt进行excel读写;

    用openpyxl进行excel读写;

    用pandas进行excel读写

    import xlrd
    from xlutils.copy import copy
    import xlwt
    
    #打开表格
    book = xlrd.open_workbook('木牛流马测评一期.xlsx')
    #获取表单名
    booknames=book.sheet_names()
    #打开表单,,有以下两种方式:通过表单索引或表单名
    mySheet = book.sheets()[0]#通过索引打开,该句表示打开第一个表单
    mySheet = book.sheet_by_index(0) #通过索引打开,该句表示打开第一个表单,和上面一个语句功能一致
    mySheet = book.sheet_by_name(booknames[0]) #通过表单名打开,该句表示打开第一个表单
    #读取表单行数和列数
    nrows = mySheet.nrows #表格总行数
    ncols = mySheet.ncols #表格总列数
    #获取一行和一列的数据
    row3_values = mySheet.row_values(2) #第3行值
    col3_values = mySheet.col_values(2)#第3列值
    #读取单元格数据,有以下两种方式
    myCellValue = mySheet.cell(3, 3).value #获取单元格,3是行数,3是列数,行数和列数都是从0开始计数;然后通过单元格获取单元格数据。 
    myCellValue = mySheet.cell_value(3, 3) #直接获取单元格数据,3是行数,3是列数,行数和列数都是从0开始计数。
    
    #用xlrd写入数据
    # 这种方法少量数据简单,数据多的话就要用xlwt了
    copy_workbook = copy(book) #建立写入的副本
    wb = copy_workbook.get_sheet(0) #利用索引值打开写入的表单
    wb.write(1,1,'你好') #在(1,1)单元格里写入对应的值'你好'
    copy_workbook.save('test.xls') #保存文件
    
    #用xlwt写入数据
    # 程序运行后,新建excelwrite.xls工作簿并插入test工作表,A1的内容为A1data。
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('test')
    worksheet.write(0,0,'A1data')
    workbook.save('excelwrite.xls')
    import openpyxl
    
    # 用openpyxl读取数据
    
    # 打开工作簿
    workbook = openpyxl.load_workbook('new.xlsx')#木牛流马测评一期
    #获取表单名
    sheet_names = workbook.get_sheet_names()
    # 通过表单名获取表单,有以下两种方式
    worksheet = workbook.get_sheet_by_name('工作表1')
    worksheet = workbook['工作表1']
    #获取一行和一列的数据
    row3=[item.value for item in list(worksheet.rows)[2]] #第3行值
    col3=[item.value for item in list(worksheet.columns)[2]]#第3列值
    #读取单元格数据
    cell_2_3=worksheet.cell(row=2,column=3).value #第2行第3列值
    #读取表单行数和列数
    max_row=worksheet.max_row#获取行数
    max_col=worksheet.max_column#获取列数
    
    # 用openpyxl写入数据
    
    # 新建new.xls工作簿并插入sheet工作表,A1的内容为99
    workbook = openpyxl.Workbook()
    # 创建表单
    # 一个workbook至少创建一个worksheet,通过active()得到worksheet
    sheet = workbook.active #位置默认0,表单名默认sheet
    # 也可以通过create_sheet()方法创建worksheets,创建的sheet名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称。
    ws = workbook.create_sheet("Mysheet1") #位置默认插入到最后,表单名可以自定义,该表单名为“Mysheet1”"Mysheet1"
    ws = workbook.create_sheet("Mysheet2", 0) #插入到最开始的位置,该表单名为“Mysheet2”
    # 通过title属性可以修改表单名称
    ws.title = "New Title"
    #设定单元格的值,三种方式
    ws.cell(row=1,column=1).value=99
    ws.cell(row=1,column=1,value=99)
    ws['A1'] = '99' #write
    workbook.save('new.xlsx')
  • 相关阅读:
    jzoj3294. 【SHTSC2013】超级跳马
    jzoj3243. Cube
    jzoj3242. Spacing
    jzoj3232. 【佛山市选2013】排列
    jzoj3297. 【SDOI2013】逃考
    jzoj4800. 【GDOI2017模拟9.24】周末晚会
    学习burnside、polya小结
    学习splay或spaly小结
    一个初学者的辛酸路程-了解Python-2
    一个初学者的辛酸路程-初识Python-1
  • 原文地址:https://www.cnblogs.com/yuehouse/p/11736261.html
Copyright © 2011-2022 走看看