openpyxl读取数据

8.Excel表格读写

1.python中对Excel读写

使用openpyxl这个库,对于Excel表格读写,在scrip目录下进入cmd,输入以下命令:

pip install openpyxl -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple
pip install 库名 -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple
​

这个库只能读写Excel2010格式,老版本不支持

2.新建表格

from openpyxl import Workbook
​
#先进性来的实例化,其实就是产生一个Excel表格对象
wb = Workbook()
​
#获取默认sheet对象
ws = wb.active
​
#1.创建第一张表,薪资表,修改sheet的名字,这个ws是默认第一张表
ws.title = "薪资表"
#给表格中单元格设置值,给A1,B1赋值
ws["A1"] = "员工姓名"
ws["B1"] = "薪资"
#也可以通过行和列,给单元格设置值,给A2,B2赋值
ws.cell(2,1).value = "大师兄"
ws.cell(2,2).value = "200000"
​
#2.创建第二张表,员工信息表,使用代码创建工作表
#create_sheet(sheet的名字,sheet的位置索引) 索引是从左到右,从0开始,索引不写的话默认为0
wb.create_sheet("员工信息表",1)
​
#保存表格,后缀名xlsx要写。保存以后生成一张表,并可以用WPS打开
wb.save("科技兴国.xlsx")

3.读写取表格(已封装好,后续直接调用即可)

from openpyxl import load_workbook
​
​
class ReadData:
    # 定义类方法,方便调用
    @classmethod
    def readExcel(cls, filename, sheetName):
        '''
​
        :param filename: Excel文件名字
        :param sheetName: sheet的名字
        :return: 返回的是读取出来列表中的所有数据
        '''
        #这里调式的时候路径要写两个点,后面项目执行的时候读取数据要写一个点
        # 读取已经存在的表格(把在外面创建的表格,通过复制粘贴的方法放到这个目录下,如mms_eg.xlsx)
        wb = load_workbook(f'./sheet_data/{filename}.xlsx')
​
        # 指定读取表格的哪一个sheet
        ws = wb[sheetName]
        # 获取最大行
        rows = ws.max_row
        # 获取最大列
        cols = ws.max_column
        # 定义大列表,保存值[[],[],[],[]]
        rows_list = []
​
        # 利用嵌套for循环完成读取
        # 从第二行开始读,取到最后一行。rang是左开右闭
        for r in range(2, rows + 1):
            # 定义一个列表,用来保存取出的每一行信息
            rows_value = []
            for c in range(1, cols + 1):
                # 根据行和列取值,读取信息
                i = ws.cell(r, c).value
                # 给列表里面添加值
                rows_value.append(i)
            rows_list.append(rows_value)
​
        return rows_list
​
if __name__=='__main__':
    r = ReadData.readExcel('mms_eg','Sheet1')
    print(r)

版权声明:本文为colala6688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。