想要使用.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()