对Excel表格的操作

基本操作

excel文件
example.xlsx
这里写图片描述
导入模块

import openpyxl

1.读取excel文档

wb = openpyxl.load_workbook('excelDemo/example.xlsx')

2.在工作薄中获取工作表
返回一个列表,储存excel表中所有的sheet工作表;

print(wb.sheetnames)

获取当前的活动表,返回一个worksheet对象

print(wb.active)

3.获取工作表中,单元格的信息

sheet = wb['example']
print(sheet['A1'])
print(sheet['B1'].value)

这里写图片描述

print(sheet.cell(row=3, column=2))
print(sheet.cell(row=3, column=2).value)

4.sheet属性

print(sheet.max_column)
print(sheet.max_row)
print(sheet.title)

#设置sheet标题
sheet.title = 'example1'
print(sheet.title)

读取信息

for row in sheet.rows:
    for cell in row:
        print(cell.value, end='\t')
    print('\n')

读取Excel表中的内容,并保存

import openpyxl
def readwb(wbname, sheetname=None):
    wb = openpyxl.load_workbook(wbname)
    if not sheetname:
        sheet = wb.active
    else:
        sheet = wb[sheetname]

    all_info = []
    # 依次遍历工作表的每一行;返回的是元组里面多个Cell对象;
    for row in sheet.rows:
        # 通过列表生成式, 获取每一行的每个单元格的内容;
        child = [cell.value for cell in row]
        all_info.append(child)

    return sorted(all_info, key=lambda item: item[2])



def createwb(wbname):
    # 判断是否有后缀名, 如果没有,则增加;
    if not wbname.endswith('.xlsx'):
        wbname = wbname + '.xlsx'
    wb = openpyxl.Workbook()
    # 保存excel表
    wb.save(filename=wbname)
    print("新建Excel[%s]成功!" %(wbname))

def save_to_excel(data, wbname, sheetname='Sheet1'):
    """
    保存排序好的数据信息到新的excel表中
    """
    createwb(wbname)
    print("写入Excel[%s]中...." %(wbname))
    wb = openpyxl.load_workbook(wbname)
    sheet = wb.active
    # 修改工作表的名称;
    sheet.title = sheetname

    # row代表索引, item代表一行内容; eg:['xxx', 'apple', 12];
    for row, item in enumerate(data):
        # column代表索引, cellValue代表每个单元格的内容, eg:'apple'
        for column, cellValue in enumerate(item):
            # 将数据信息写入excel单元格;
            # 单元格的行和列没有0;
            sheet.cell(row=row+1, column=column+1, value=cellValue)

    wb.save(filename=wbname)
    print("保存成功!")

写入数据到Excel表

import openpyxl


def createwb(wbname):
    try:
        if not wbname.endswith('.xlsx'):
            wbname = wbname + '.xlsx'
        wb = openpyxl.Workbook()
        wb.save(filename=wbname)
        print("新建Excel[%s]成功!" %(wbname))
        return wbname
    except Exception as e:
        print(e)


def save_to_excel(sheetname, wbname):
    print("写入Excel[%s]中...." %(wbname))
    wb = openpyxl.load_workbook(filename=wbname)
    sheet = wb.active
    sheet.title = sheetname


    for row in range(3):
        for column in range(4):
            sheet.cell(row=row+1, column=column+1, value=1)

    wb.save(filename=wbname)
    print("保存成功!")




save_to_excel('example',createwb('hello'))

猜你喜欢

转载自blog.csdn.net/mashaokang1314/article/details/80570398
今日推荐