0
点赞
收藏
分享

微信扫一扫

python 操作 excel 文件xlsx格式(一)

python 操作读取 excel 文件

python 提供读取 excel 文件的类库 进行读取excel文件数据 Excel 2007 以上版本 xlsx/xlsm

​提示:以下是本篇文章正文内容,下面案例可供参考​

一、openpyxl 插件库安装

官方文档示例地址:​​openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.10 documentation​​

二、使用步骤

1.引入库

安装命令如下:

pip install openpyxl 

## 如果你要操作 图片引入文件中 还需要 pip install pillow

2.excel数据读取

代码如下:

## excel 文件读取 pip install openpyxl 
## 如果你要操作 图片引入文件中 还需要 pip install pillow
## 引入必须的类操作 openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files.
## 文档实例:https://openpyxl.readthedocs.io/en/stable/
import openpyxl
from openpyxl.utils import get_column_letter,column_index_from_string

'''
读取文件
'''
## 读取 2007版 excel 在 路径问题上 需要注意的是 windows 文件夹需要两个 \\来表示 一个\会报错
workbook_2007 = openpyxl.load_workbook(filename="julong_test\\temp_excel_2007.xlsx")
type(workbook_2007)

## 获取表格sheet页名称
sheetnames_2007 = workbook_2007.sheetnames
print("sheetnames_2007:",sheetnames_2007)
## 获取sheet对象
worksheets_2007 = workbook_2007.worksheets
print("worksheets_2007:",worksheets_2007)

## 读取excel 信息
for sheet in worksheets_2007:
## 获取标题
worksheets_2007_title = sheet.title
print("worksheets_2007_title:",worksheets_2007_title)
## 获取行总数
worksheets_2007_max_row = sheet.max_row
print("worksheets_2007_max_row:",worksheets_2007_max_row)
## 获取列总数
worksheets_2007_max_column = sheet.max_column
print("worksheets_2007_max_column:",worksheets_2007_max_column)
## 读取每行数据 此循环读取行
for rowIndex in range(1,worksheets_2007_max_row+1):
## 列与字母之间的转换 get_column_letter 列字母与数字之间的转换 column_index_from_string
print(get_column_letter(rowIndex) + "-" + str(column_index_from_string(get_column_letter(rowIndex))))
row_data = ""
## 读取每一列的数据 此循环读取列
for columnIndex in range(1,worksheets_2007_max_column+1):
## 获得第一列的值
sheetnames_2007_cell = sheet.cell(row=rowIndex,column=columnIndex).value
## 如果要以字符串展示 需要 将列值 转换为 string 类型 不然 直接拼接 数据中如果有数字类型 会报异常
row_data = row_data + "-" + str(sheetnames_2007_cell)

# ## 为None 的时候不再显示
# if sheetnames_2007_cell == None:
# break
print(f"row_data_{str(rowIndex)}:{row_data}")

只能操作 Excel 2007 以上版本

总结

​这是自己学的的例子,欢迎交流 每天进步一点点​


举报

相关推荐

0 条评论