码迷,mamicode.com
首页 > 编程语言 > 详细

python解析.xls/.xlsx文件--openpyxl模块(第三方)

时间:2020-11-27 11:08:02      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:book   set   tle   命令行   文件中   不能   charm   读取   pen   

第一part:Excel文件的介绍


 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

excel文档的基本定义
工作薄(workbook)
工作表(sheet)
活动表(active sheet)
行(row): 1,2,3,4,5,6……..
列(column): A,B,C,D……..
单元格(cell): B1, C1


 第二part:Python安装excel相关模块


 python对于Excel表格操作的模块有很多种:

xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐
xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件
openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用


 第三part:使用Openpyxl读取excel 文件数据


 1.openpyxl模块的安装,安装方式有两种:直接通过dos命令行:pip  install openpyxl;或者直接在pycharm中的settings--project---project interpreter中搜索openpyxl模块直接安装即可

2.简单读取excel中的数据

1)excel中的数据:

技术图片

 

 2)读取excel的代码:

#导包
import openpyxl
#1.打开一个excel文件,实列化一个对象:工作薄
wb=openpyxl.load_workbook(‘data5.xlsx‘)
print("所有的sheets",wb.sheetnames)
print("正在使用的sheet",wb.active)

#2.选择需要使用的sheet
sheet=wb[‘Sheet1‘]
print("sheet的名称为:",sheet.title)

#3.读取sheet中指定单元格的数据
cell=sheet[‘B1‘]
#cell的值为对象
print("输出单元格为:",cell)
print("单元格对应的行为:",cell.row)
print("单元格对应的列为:",cell.column)
print("单元格对应的值为:",cell.value)

#4.读取指定行指定列的单元格的数据
cell_obejct=sheet.cell(row=3,column=2)
cell_value=cell_obejct.value
print("第三行第二列单元格的数据为:",cell_value)

#5.获取sheet中最大的行与列
print("Sheet1中最大的行数为:",sheet.max_row)
print("Sheet1中最大的列数为:",sheet.max_column)

#6.读取整个sheet中的数据
print(sheet.rows)
#返回一个生成器,返回每一行的内容
for row in sheet.rows:#遍历每一行
for cell in row:#遍历每一行的单元格
print(cell.value,end=‘,‘)
print()


执行结果,如下:

技术图片

 


 第四part:写入数据到excel文件中


 写入代码如下:

import openpyxl
wb=openpyxl.load_workbook(‘data5.xlsx‘)
sheet=wb[‘Sheet1‘]
#指定单元格赋值
sheet[‘C1‘]="操作步骤"
#通过单元格的行与列进行赋值
sheet.cell(row = 1,column=4,value="请求参数")
#保存excel
wb.save(‘data5.xlsx‘)

执行成功之后,效果如下:

技术图片

 

python解析.xls/.xlsx文件--openpyxl模块(第三方)

标签:book   set   tle   命令行   文件中   不能   charm   读取   pen   

原文地址:https://www.cnblogs.com/smilecindy/p/13783141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!