python-openpyxl操作excel

安装openpyxl插件

1.解压openpyxl

2.cmd命令行,进入到目录,招到setup.py文件,执行命令:python setup.py install

cmd ->
d: ->
cd D:\py libs\openpyxl-2.4.1
python setup.py install

 

查看是否安装成功

cmd

python

import 模块名

 

操作excel步骤:

1.知道excel的地址

2.获取excel中工作表(sheet)

3.再通过sheet,进行excel的操作(添加数据\查询数据\删除数据\修改数据)

4.该保存的就保存

 

 

初始excel表格

 

对上面的表格,进行操作:

获取excel中工作表的操作权限

import openpyxl
import time

'''
openpyxl 只支持xlsx后缀的名称
'''

path = 'D:/python workspace/excel/excel.xlsx'

#打开excel文件,返回标记位给wb
wb = openpyxl.load_workbook(path)

print("获取工作簿所有工作表名:",wb.get_sheet_names())

sheet = wb.get_sheet_by_name('main')
print("获取指定的工作表",sheet.title)

sheet2 = wb.get_active_sheet()
print("获取活动的工作表",sheet2.title)

结果:

获取工作簿所有工作表名: ['main', 'Sheet2', 'Sheet3']
获取指定的工作表 main
获取活动的工作表 main

 

接着上面,操作单元格,获取单元格的数据

#获取单元格数据,main工作表的单元格A1数据
print("获取单元格A1值",sheet['A1'].value)
#下面这个写法的好处方便用for循环遍历,通过行和列
print("获取单元格A1值",sheet.cell(row=1,column=1).value)

结果:

获取单元格A1值 名称
获取单元格A1值 名称

 

接着上面,数据写入单元格

#sheet.cell(row = 5,column = 3).value = "test"
#sheet['B10'] = "test1"

 

获取最大有效数据的行数和列数

#获得是单元格有数据的最大列数和行数
print("获取最大列数",sheet.max_column)
print("获取最大行数",sheet.max_row)

结果:

获取最大列数 4
获取最大行数 2

 

循环取值

获取某一行的值

 

#第一行中所有的值
for i in sheet["1"]:
    print(i.value)

 

结果:

名称
功能
自动化
性能

获取某一列所有的值

#第C列中所有的值
for i in sheet["C"]:
    print(i.value)

结果:

自动化
62

 

遍历整张表的值,注意+1 

 

#遍历整张表的值,注意+1
#for循环,每行一行一行的获取
for i in range(1,sheet.max_row+1):
    for j in range(1,sheet.max_column+1):
        print(sheet.cell(row = i,column = j).value)

名称
功能
自动化
性能
数字
52
62
72

 

操作完成后,注意保存

#指定路径保存,path表示指定的路径和新的名称       
#wb.save(path)
#没有path,就是原地址覆盖保存wb.save(path)

最终的结果:

 

posted @ 2017-06-16 23:34  R-Bear  阅读(1604)  评论(1编辑  收藏  举报