(12)-Python3之--openpyxl模块
1.安装
pip install openpyxl
2.Excel操作的流程
1、打开excel,进入工作薄 workbook
2、选择表单 Sheet
3、单元格 Cell
4、读写操作
3.Excel操作
首先准备已经存在的Excel表格。
3.1获取单元格的值
from openpyxl import load_workbook # 选择Excel表 wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx') # 选择表单 sh = wb['Sheet1'] # 获取单元格的值,从1开始。 print(sh.cell(1,1).value) 结果: A1
3.2写入单元格的值
from openpyxl import load_workbook # 选择Excel表 wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx') # 选择表单 sh = wb['Sheet1'] # 写单元格的值 sh.cell(6,1).value = "二狗" # 保存写入的数据 - 整个工作薄 wb.save(r'E:\Users\Web_Core\xlstest.xlsx')
结果:
3.3获取总行数、总列数
from openpyxl import load_workbook # 选择Excel表 wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx') # 选择表单 sh = wb['Sheet1'] rows = sh.max_row # 总行数 print("总行数为:" + str(rows)) colums = sh.max_column # 总列数 print("总列数为:" + str(colums)) 结果: 总行数为:10 总列数为:4
3.4读取所有的数据
from openpyxl import load_workbook # 定义一个获取所有数据的函数 def read_all_data(): wb = load_workbook(r"E:\Users\Web_Core\xlstest.xlsx") # 打开Excel sh = wb['Sheet1'] # 获取表单 cases = [] # 所有的cases用列表存放 max_row = sh.max_row # 获取最大行 max_column = sh.max_column # 获取最大列 # 通过双循环获取所有数据 for r in range(2, max_row + 1): # 遍历行 case = {} for j in range(1, max_column + 1): key = sh.cell(row=1, column=j).value # 遍历列 case[key] = sh.cell(row=r, column=j).value cases.append(case) # 将一行数据放到列表 wb.save(r"E:\Users\Web_Core\xlstest.xlsx") wb.close() return cases # 调用函数,打印数据 all_data = read_all_data() print(all_data) 结果: [{'D1': 'D2', 'C1': 'C2', 'B1': 'B2', 'A1': 'A2'}, {'D1': 'D3', 'C1': 'C3', 'B1': 'B3', 'A1': 'A3'},
{'D1': 'D4', 'C1': 'C4', 'B1': 'B4', 'A1': 'A4'}, {'D1': 'D5', 'C1': 'C5', 'B1': 'B5', 'A1': 'A5'},
{'D1': 'D6', 'C1': 'C6', 'B1': 'B6', 'A1': '二狗'}, {'D1': 'D7', 'C1': 'C7', 'B1': 'B7', 'A1': 'A7'},
{'D1': 'D8', 'C1': 'C8', 'B1': 'B8', 'A1': 'A8'}, {'D1': 'D9', 'C1': 'C9', 'B1': 'B9', 'A1': 'A9'},
{'D1': 'D10', 'C1': 'C10', 'B1': 'B10', 'A1': 'A10'}]
posted on 2020-03-02 10:53 Test-Admin 阅读(1146) 评论(0) 编辑 收藏 举报