python-openpyxl

 想要使用.xlsx文件需使用openpyxl库

pip install openpyxl ---安装openpyxl库

openpyxl.load_workbook("xx.xlsx") ---打开文件

.save("xx.xlsx") ---文件做了操作需保存,以便在保存的基础上做代码

.clos() ---结束了,需要关闭文件以释放资源

#xlrd支持xls,不支持xlsx
import openpyxl #openpyxl支持xlsx

#打开case.xlsx文件
data = openpyxl.load_workbook("case.xlsx") #case.xlsx需要自行创建并放置同目录下
sheet = data["Sheet1"] #打开名为"Sheet1"的工作表
#sheet = data.workssheets[0] #通过索引打开第一个工作表

#使用单元格坐标来设置数据
#sheet["A1"] = "编号"
#sheet["B1"] = "测试点"
"""
value_A1 = sheet["A1"].value #读取A1单元格的数据
value_B1 = sheet["B1"].value
print(value_A1,value_B2)
data.save("case.xlsx") #保存case.xlsx文件 或者保持Sheet1表
"""

遍历读取表名

#遍历工作表中的行
#min_row=1,max_row=5,min_col=1,max_col=3 循环遍历第1行到第5行的第1列到第3列
#nrows 行,ncols 列
for row in sheet.iter_rows(min_row=1,max_row=sheet.max_row,
                           min_col=1,max_col=sheet.max_column): #sheet.iter_rows()方法 用来遍历工作表的行
    for cell in row:
        print(cell.value,end=" ")
    print() #换行

新建表与删除表

#添加新的工作表
new_sheet = data.create_sheet("caseSheet") #创新名caseSheet的表
"""
#随机创建3个表
for sheet in range(0,3):
    new_sheet = data.create_sheet()
"""
#获取表名赋值于变量sheet_names
#sheet_names = data.sheetnames
#print("工作表列表",sheet_names) #输出表名
#data.save("case.xlsx") #创建了就要保存 下一步在保存的基础上做操作
"""

#删除工作表
data.remove(data["caseSheet"])
data.save("case.xlsx")
#获取表名赋值于变量sheet_names
sheet_names = data.sheetnames
print("工作表列表",sheet_names) #输出表名

设置单元格的样式

#设置单元格样式
font = Font(bold=True)
alignment = Alignment(horizontal="center",vertical="center")
border = Border(left=Side(border_style='thin', color='000000'),
                right=Side(border_style='thin', color='000000'),
                top=Side(border_style='thin', color='000000'),
                bottom=Side(border_style='thin', color='000000'))
#start_color end_color 主题颜色 RGB格式(FFFF00黄色) fill_type=solid 纯色填充
fill = PatternFill(start_color="E9EE12",end_color="132DED",fill_type="solid")
sheet["A1"].font = font
sheet["A1"].alignment = alignment
sheet["A1"].border = border
sheet["A1"].fill = fill #只设置A1单元格


"""
for row in range(1,6): #第1-第5行
    for col in range(1,4): #第1列-第3列
        sheet.cell(row=row,column=col).fill=fill
"""

data.save("case.xlsx")

data.close() #关闭工作簿,释放资源

输出工作表内的内容 ---使用iter_rows()方法遍历

1、设置一个列表list,将遍历的数据存放进去再输出这个列表

import openpyxl
data = openpyxl.load_workbook("case.xlsx")

#打印出所有的表名
sheet_name = data.sheetnames
print(sheet_name)

table =data.worksheets[0] #通过索引

info_list =[]
for row in table.iter_rows(min_row=1,max_row=table.max_row,min_col=1,max_col=table.max_column):
    for cell in row:
        info_list.append(cell.value)
    #print(info_list) 输出列表

#遍历输出
for i in info_list:
    print(i)

 2、直接使用cell(cell指单元格)

for row in table.iter_rows(min_row=1,max_row=table.max_row,min_col=1,max_col=table.max_column):
    for cell in row:
        print(cell.value,end=" ")
    print() #换行

data.close()

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值