欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于python的Excel处理基础

程序员文章站 2022-03-11 22:59:19
Excel的基本知识:workbook:工作簿worksheet:表单/工作表row:行colum:列cell:单元格更改表格编号方式为0开始: 对于Microsoft office:文件-选项-公式-使用公式-R1C1引用样式 对于WPS office:选项-常规与保存-r1c1xlrd与xlwt需要 pip install xlrdimport xlrdbook1 = xlrd.open_workbook......

Excel的基本知识:

    workbook:工作簿

    worksheet:表单/工作表

    row:行

    colum:列

    cell:单元格

更改表格编号方式为0开始:

    对于Microsoft office:文件-选项-公式-使用公式-R1C1引用样式

    对于WPS office:选项-常规与保存-r1c1

xlrd与xlwt

需要 pip install xlrd

import xlrd
book1 = xlrd.open_workbook('path/file.xlsx')   # 打开对应excel工作簿
print(book1.nsheets)   # 簿中表单数int
sheet_name = book1.sheet_names()    # 所有表单名list
sheet1 = book1.sheet_by_name(表单名)   # 按名字查找表单
fruit2 = sheet1.cell_value(0, 1)    # 特定位置单元格的数据

bool1 = fruit2.endswith('s')   # 判断是否以's'结尾
bool2 = fruit2.startswith('x') # 判断是否以'x'开始
#。。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。
"""
表单中第二列对应水果,第三列对应数量
将水果名字中含有'e'的数量总数
"""
sum_col2 = sum(sheet1.col_values(2))
sum_of_e = 0
for row, fru in enumerate(sheet1.col_values(1)):
    if 'e'in fru:
        sum_of_e += sheet1.cell_value(row, 2)
print(f'{sum_of_e}')

需要 pip install xlwt

import xlwt     # 导入excel写入库
# from xlutils.copy import copy    # 导入excel格式库

all_data = []
for i in range(1, sheet1.nrows):   # 遍历所有行
    time = sheet1.cell_value(i, 0)      # 第一列所有值
    fruit = sheet1.cell_value(i, 1)     # 第二列所有值
    num = sheet1.cell_value(i, 2)       # 第三列所有值

    data = {'时间': time, '水果': fruit, '数量': num}    # 将所有数据按列归类,保存为字典
    if 'e' in data['水果']:             # 将所有不含'e'的水果,及其对应的数据保存在变量中
        all_data.append(data)
    else:
        continue
print(all_data)

#。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。
book2 = xlwt.Workbook()                         # 创建一个工作簿
sheet2 = book2.add_sheet('xlwt创建表单')        # 添加一个表单
sheet2.write(0, 0, 'xlwt写入内容')              # 默认格式写入一个内容

style2 = xlwt.XFStyle()       # 初始化xls风格

font2 = xlwt.Font()           # 初始化格式
font2.name = '微软雅黑'           # 设置字体
font2.bold = True                 # 设置加粗
font2.Height = 18*20              # 设置字号18
font2.Italic = True               # 设置斜体
style2.font = font2           # 保存格式到风格

borders2 = xlwt.Borders()                  # 初始化边框
borders2.top = xlwt.Borders.THIN           # 设置上边框,细线
borders2.bottom = xlwt.Borders.DOTTED      # 设置下边框,点线
borders2.left = xlwt.Borders.NO_LINE       # 设置左边框,无边框
borders2.right = xlwt.Borders.THICK        # 设置右边框,粗线
style2.borders = borders2                  # 保存边框到风格

alignment2 = xlwt.Alignment()              # 初始化对齐方式
alignment2.horz = xlwt.Alignment.HORZ_CENTER        # 水平对齐方式,居中
alignment2.vert = xlwt.Alignment.VERT_BOTTOM        # 竖直对齐方式,底部
style2.alignment = alignment2                   # 保存对齐方式到风格

sheet2.write(1, 1, 'xlwt写入内容', style2)      # 以自定义风格,写入数据

book2.save('C:/Users/Fally J/Desktop/python tofun/xlwt的工作簿.xls')    # 保存该工作簿

以上方式均适用于xls文件,对于xlsx兼容性很差

openpyxl

"""
通过openpyxl读写库, 对excel表进行处理
"""
import openpyxl     # 导入xlxs读写库
from openpyxl.styles import Font, colors
from openpyxl.styles import PatternFill, colors

book3 = openpyxl.Workbook()    #创建工作簿
sheet3 = book3.active          # 激活第一张默认表单
sheet3.title = 'new_sheet'     # 给工作簿命名

sheet_last = book3.create_sheet('first sheet', 0)  # 对应位置插入新表单
sheet4 = book3['first sheet']   # 按名字找到表单

sheet4['B2'] = 'B2'       # 对应位置写入
sheet4.cell(2, 3, 'C2')   # 对应位置写入
sheet4['C2'].font = Font(color = colors.RED,  # 更改字体颜色
                         size = 15,           # 更改字体字号
                         bold = True,         # 是否加粗
                         italic = True)       # 是否斜体
sheet4['B2'].fill = PatternFill('solid', colors.BLUE)   # 更改背景色

book3.save('new_excel.xlsx')   # 保存为'文件名.xlsx'

 

本文地址:https://blog.csdn.net/FallyJ/article/details/107657792

相关标签: STM32 笔记