Python操作的excel表格

1、基本概念

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。下面分读和写分别介绍几个常见的方法。

2、新建一个xlsx文件

from openpyxl import Workbook
wb = Workbook()

sheet = wb.active

sheet.title = "New Shit"
 
sheet['C3'] = 'Hello world!'
for i in range(10):
  sheet["A%d" % (i+1)].value = i + 1
  
sheet["E1"].value = "=SUM(A:A)"

wb.save('保存一个新的excel.xlsx')
print("成功保存一个xlsx表格")     #重复操作会将原来的表格内容重复代替

3、打印xlsx中有的所有表格名字;读取表格中的数据,并打印出来(列表)

import xlrd


#打开Excel文件
workbook = xlrd.open_workbook('k0907.xlsx')     #当前运行程序根目录下有文件k0907.xlsx
print(workbook.sheet_names())     #打印出文件中所有表格的名字
Data_sheet    = workbook.sheets()[0]     #以列表?的方式获取表格对象?
Charts_sheet  = workbook.sheet_by_name(u'Sheet3_my')     #以表格名字检索的方式获取表格对象?
nrows = Data_sheet.nrows      #获取行数
ncols = Data_sheet.ncols     #获取列数
print("行数:%d\n列数:%d"%(nrows,ncols))
rows = Data_sheet.row_values(0)     
cols = Data_sheet.col_values(0)
print("rows:%s\ncols:%s"%(rows,cols))
print('结束')

4、将数据以添加的形式添加进入test.xls文件中

#关键函数: addto_xls_data

#获取表格内容的方式也是关键

需要import的库:

import xlrd
import xlutils.copy

    #导入特定的excel表格   
    data = xlrd.open_workbook('test.xls')     #通过追加功能向xls表格中追加数据
    ws = xlutils.copy.copy(data)
    table=ws.get_sheet(0)
    addto_xls_data(table)     #调用保存数据
    ws.save('test.xls')

函数 addto_xls_data() :

def addto_xls_data(sheet):      #通过新建一个表格并向里面补充数据
    #这里定义一些变量方便调试:  
    max_imgname_cell_num_rows = 5     #定义图片编号的cell
    max_imgname_cell_num_cols = 0    
    name_cell_rows = max_imgname_cell_num_rows - 1     #定义name标签名字所在单元格
    name_cell_cols = max_imgname_cell_num_cols + 1    
    score_cell_rows = max_imgname_cell_num_rows - 1     #定义score标签名字所在单元格
    score_cell_cols = max_imgname_cell_num_cols + 2    
    name_cell_num_rows = max_imgname_cell_num_rows     #定义name标签变量所在单元格
    name_cell_num_cols = max_imgname_cell_num_cols + 1    
    score_cell_num_rows = max_imgname_cell_num_rows     #定义score标签变量所在单元格
    score_cell_num_cols = max_imgname_cell_num_cols + 2
     #新建一个表格并写数据
    
    sheet.write(max_imgname_cell_num_rows, max_imgname_cell_num_cols, each)     #这里填入图片的编号
    sheet.write(name_cell_rows, name_cell_cols, "['name'][0]")     #最高认可度的种类编号
    sheet.write(score_cell_rows, score_cell_cols, "['score'][0]")     #该编号的分值

    name = content_list[0]['name']     #调用
    sheet.write(name_cell_num_rows, name_cell_num_cols, name) 
    score = content_list[0]['score']
    sheet.write(score_cell_num_rows, score_cell_num_cols, score)
    print("成功保存一个xls表格")     

猜你喜欢

转载自blog.csdn.net/qq_34079398/article/details/82591394