关于openpyxl模块的操作
import openpyxl
wb=openpyxl.Workbook()#创建一个工作簿
ws=wb.active #创建一个工作表
ws.title #工作表的表头(名称)
ws['A1']=520 #给A1单元格赋值520
ws.append([1,2,3])
#在之前的基础上给表格的下一行复制,这里是给A2,B2,C2分别赋值1,2,3
import datetime
ws['A3']=datetime.datetime.now()
#调用now函数,给A3单元格添加时间
wb.save('ceshi.xlsx')
#保存文件
将爬下来的数据保存到excel中
wb=openpyxlsx.Workbook()
ws=wb.active
ws['A1']="电影名称"
ws['B1']="评分"
ws['C1']="资料"
result=[[1,2,3],[1,2,3],[1,2,3]]
#注意这里的数据保存形式,遵循先行后列
for each in result:
ws.append(each)
wb.save('ceshi.xlsx')
打开文件
wb=openpyxl.load_workbook('ceshi.xlsx')
#有一个技巧,可以用r来直接输入复制的路径,避免\被转义
wb.get_sheet_names/wb.sheetnames
#得到工作表名称
ws=wb.get_sheet_by_name('Sheet')/wb['Sheet']
#定位工作表
wb.creat_sheet(index=0,title='ABC')
#创建一个工作表,index是位置,title是名称
wb.remove(wb.get_sheet_by_name('Sheet'))
#删除一个工作表,需要先定位
定位单元格
C=ws['A2']#定位A2单元格
d=C.offset(2,0)#C单元格基础上向下走两行
openpyxl.cell.cell.get_column_letter('500')
#将列数从二十六进制化为十进制
openpyxl.cell.cell.column_index_from_string('SB')
#将列数从十进制化为二十六进制
定位多个单元格
for each_row in ws.rows:
print(each_row[0].value)
#遍历ws表单所有的行,并打印每一行的第一个元素
for each in ws['A3':'B7']:
for each_e in each:
print(each_e.value)
print(\n)
#遍历A3到B7的所有元素,并打印
for each_row in ws.iter_rows(min_row=1 min_col=2,max_row=6 max_col=2):
print(each_row[0].value)
#复制工作表
wd=wb.copy_worksheet(ws)