文章目录
前言
Python系列文章主要是记录自己学习成果及知识输出整合,提供一个温故而知新的场所。
一、Python操作excel文件的简单介绍
1、python对excel文件进行操作的库
xlrd:读excel xlwt:编辑 xlutils:复制 2010版本以下的excel
openpyxl 支持2010版本及以上的excel文件读取及编辑
pandas 一般用于数据的分析
2、openpyxl模块的基本应用
1、安装openpyxl,在dos命令行模式里,输入 pip install openpyxl
2、openpyxl的三大组件
1、工作簿
2、工作表
3、单元格
二、对excel常用操作
1.创建excel文件
def creat_excel():
"""创建excel表格"""
# 创建工作簿
wb = openpyxl.Workbook()
# 获取当前工作表(活跃工作表)
sheet1 = wb.active
# 数据写入单元格
sheet1.cell(1, 1).value = 'username'
sheet1.cell(1, 2).value = 'pw'
sheet1.cell(1, 3).value = 'ad'
wb.save('userinfo.xlsx')
if __name__ == '__main__':
creat_excel()
2.编辑excel文件数据
def edit_excel(file_name):
"""编辑excel文件"""
# 加载工作簿
wb = openpyxl.load_workbook(file_name)
# 创建新的工作表
sheet = wb.create_sheet('Sheet1')
sheet.cell(1, 1).value = 'username'
sheet.cell(1, 2).value = 'pw'
sheet.cell(1, 3).value = 'ad'
# 编辑后保存
wb.save(file_name)
if __name__ == '__main__':
edit_excel('传入excel文件的路径')
3.读取excel文件数据
def read_excel(file_name):
# 读取工作簿
wb = openpyxl.load_workbook(file_name)
# 获取所有工作簿(返回的值是一个列表的数据类型)
sheets = wb.sheetnames
# 获取指定工作表
sheet = wb['Sheet1']
# 获取单元格数据
value = sheet.cell(row=2, column=2).value
print(value)
# 获取所有的数据
print(f'最大行数:{sheet.max_row}')
print(f'最大列数:{sheet.max_column}')
# 循环工作表中的每一行
for row in range(1, sheet.max_row+1):
# 循环每一行的每一列,就能获取到单元格的坐标(也就是每个单元格的坐标)
for col in range(1, sheet.max_column+1):
# 通过获取每个单元格的坐标,来获取每个单元格的数据
one = sheet.cell(row, col).value
print(one, end=' ')
print('')
if __name__ == '__main__':
read_excel('传入excel文件的路径')
4、将读取文件后的值保存到字典
例:表格是以下结构
存储为字典格式代码为:
def excel_to_dict(file_name):
"""将表格中的数据转化为字典的格式:[{'id':1, 'username':'user1', 'pw':'1234'},{'id':2, 'username':'user2', 'pw':'1235'}]"""
# 读取工作簿
wb = openpyxl.load_workbook(file_name)
# 获取指定工作表
sheet = wb['Sheet1']
# 循环工作表中的每一行
list_all = []
for row in range(2, sheet.max_row + 1):
dict_row = dict()
# 循环每一行的每一列,就能获取到单元格的坐标(也就是每个单元格的坐标)
for col in range(1, sheet.max_column + 1):
key = sheet.cell(1, col).value
# 通过获取每个单元格的坐标,来获取每个单元格的数据
value = sheet.cell(row, col).value
dict_row[key] = value
list_all.append(dict_row)
print(list_all)
if __name__ == '__main__':
excel_to_dict('传入excel文件的路径')
总结
以上就是文章要表达的内容,本文介绍了Python对 excel文件进行的一些基本操作,如:创建excel文件、创建sheet页、更新数据、存储数据等。