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

Posted 小珊子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python解析.xls/.xlsx文件--openpyxl模块(第三方)相关的知识,希望对你有一定的参考价值。

第一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模块(第三方)的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Android中解析doc,docx,xls,xlsx格式文

JS-XLS/X读取和解析Excel表格文件(xls/xlsx)的JavaScript插件

POI技术解析xls/xlsx

使用 python 将 tsv 文件转换为 xls/xlsx

从python中的xls或xlsx文件读取后将数据转换为字符串

关于jquery读取excel文件内容 xls xlsx格式