您的位置:首页 > 编程语言 > Python开发

Python3 操作Excel--openpyxl

2018-01-03 21:02 666 查看


操作Excel文件建议使用openpyxl 兼容office2016

 
打开excel文件,获取工作表

import openpyxl
wb=openpyxl.load_workbook('ttt.xlsx')  #打开excel文件
print(wb.get_sheet_names())  #获取工作簿所有工作表名

sheet=wb.get_sheet_by_name('Sheet1')  #获取工作表
print(sheet.title)

sheet02=wb.get_active_sheet()  #获取活动的工作表
print(sheet02.title)


 
操作单元格

print(sheet['A1'].value)  #获取单元格A1值
print(sheet['A1'].column)  #获取单元格列值
print(sheet['A1'].row)  #获取单元格行号

print(sheet.cell(row=1,column=1).value)  #获取单元格A1值,column与row依然可用

for i in range(1,4,1):
print(sheet.cell(row=i,column=1).value) #更加方便实用

print(sheet.max_column)  #获取最大列数
print(sheet.max_row)  #获取最大行数


 
读取excel文件

#读取excel文件 sheetname可为空
def readwb(wbname,sheetname):
wb=openpyxl.load_workbook(filename=wbname,read_only=True)
if (sheetname==""):
ws=wb.active
else:
ws=wb[sheetname]
i=1
fields=[]
data=[]
for row in ws.rows:
list=[]
for cell in row:
aa=str(cell.value)
if (aa==""):
aa="1"
list.append(aa)
if(i<5):
pass
elif (i==5):
fields=list
else:
data.append(list)
i=i+1
data.sort(key=lambda x:x[0])
print (wbname +"-"+sheetname+"- 已成功读取")
return fields,data


 
 新建excel,并写入数据

#新建excel
def creatwb(wbname):
wb=openpyxl.Workbook()
wb.save(filename=wbname)
print ("新建Excel:"+wbname+"成功")

# 写入excel文件中 date 数据, fields 表头
def savetoexcel(data,fields,sheetname,wbname):
print("写入excel:")
wb=openpyxl.load_workbook(filename=wbname)

sheet=wb.active
sheet.title=sheetname

field=1
for field in range(1,len(fields)+1):   # 写入表头
_=sheet.cell(row=1,column=field,value=str(fields[field-1]))

row1=1
col1=0
for row1 in range(2,len(data)+2):  # 写入数据
for col1 in range(1,len(data[row1-2])+1):
_=sheet.cell(row=row1,column=col1,value=str(data[row1-2][col1-1]))

wb.save(filename=wbname)
print("保存成功")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: