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 以上版本
总结
这是自己学的的例子,欢迎交流 每天进步一点点