#conding=‘utf-8‘
#Workbook ;worksheet;active;load_workbook;cell;value;rows;append
import openpyxl
#test1:新建excel
#1.创建工作簿
wb=openpyxl.Workbook()
#2.找到当前工作簿中处于激活状态的工作表
ws=wb.active
#print(ws) <Worksheet "Sheet">
#也可以使用create_sheet方法
#ws1=wb.create_sheet(‘工作1‘)
#print(ws1) <Worksheet "工作1">name为工作1的sheet
#3.查看工作表标题文字属性;也可进行赋值操作
print(ws.title) #"Sheet"
#查看当前工作簿下所有工作表名
print(wb.sheetnames) #返回一个列表
#4.操作
#设置某一单元格内容
ws[‘A1‘]=41
ws[‘c1‘]=‘姓名‘
ws.cell(row=7,column=3,value=‘("python","123456")‘)
#写入一行
ws.append([1,2,3,4])
data=[(1,‘tom‘,90),
(2,‘ham‘,153),
(3,‘fs‘,153),
(4,‘hha‘,133)
]
##这里注意写入数据会在接在上面写入的位置之后,根据行列的情况继续向下写
print(‘---方法一、写入一个序列数据--‘)
#通过enumerate获取index进行数据写入
for i,row in enumerate(data):
for j,col in enumerate(row):
ws.cell(row=i+2,column=j+1,value=col)
print(‘----方法二、写入一个序列数据--------‘)
#(append方法)
for i,row in enumerate(data):
ws.append(row)
#保存文件
wb.save(‘test_creat_excel.xlsx‘)
#打开工作簿
wb=openpyxl.load_workbook(‘case.xlsx‘)
#选择工作表对象
#a查看所有表名称
print(wb.sheetnames)
#创建表一对象
ws=wb[‘表一‘]
#修改表名称
#ws.title=‘新建表格1‘
#print(wb.sheetnames)
#读取表内信息
#A.cell()方法获取单元格数据
data =ws.cell(row=5,column=4)
#value方法获得内容,获取D5的值
print(data,‘的值为‘,data.value)
#通过迭代ws.rows方法读取所有行信息
print(‘----ws.rows------‘)
row_list=ws.rows
for i in row_list:
print(i)# (<Cell ‘表一‘.A1>, <Cell ‘表一‘.B1>, <Cell ‘表一‘.C1>, <Cell ‘表一‘.D1>)
print(‘---ws.columns----‘)
#通过迭代ws.columns方法获取所有列信息
columns_list=ws.columns
for i in columns_list:
print(i)
print(‘---ws.cell()错误用法-----‘)
#这里ws.rows;ws.column都是迭代器,因此没有len()
"""for r in range(len(row_list)):
for c in range(len(columns_list)):
print(ws.cell(row=r, column=c).value)
"""
#通过max_row和max_column的len()方法获取长度迭代
print(‘-----方法一、ws.cell().value读取全部数据---------‘)
for r in range(1,ws.max_row):
for c in range(ws.max_column):
data=ws.cell(row=r,column=c+1).value #Row or column values must be at least 至少要第二行起
print(data,end=‘\t‘)
print(end=‘\n‘)
原文:https://www.cnblogs.com/yescarf/p/13751253.html