基于python的Excel处理基础
程序员文章站
2022-06-21 22:51:20
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