【python】利用openpyxl库对excel表格的存储与读取

本文讲解的是利用openpyxl库对excel表格(.xslx文件)的存储与读取,读取部分内容参考python_通过openpyxl读写excel

需要安装openpyxl库

安装方法:

  • window电脑:在终端输入命令:pip install openpyxl,按下enter键;
  • mac电脑:在终端输入命令:pip3 install openpyxl,按下enter键

第一章 前置知识

1.工作簿: Excel环境中用来储存并处理工作数据的文件,即excel文档就是工作簿

2.工作表: 工作表其实就是工作薄的一个模块。一个工作簿最多可以创建255个工作表。当前打开的工作表又叫活动表
【python】利用openpyxl库对excel表格的存储与读取_第1张图片
3.单元格: 每个工作表里有行和列,行与列相交的方格称为单元格(cell)

第二章 存储

2.1 创建工作簿

#引入openpyxl库
import openpyxl
#利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的空的Excel文件。
wb = openpyxl.Workbook()

2.2 获取工作表

#wb.active就是获取这个工作簿的活动表,通常就是第一个工作表
sheet = wb.active
#可以用.title给工作表重命名。第一个工作表的名称就会由原来默认的“sheet1”改为"new title"。
sheet.title = 'new title'

2.3 往单元格写入内容

# 写入一格
sheet['A1'] = '从善如登,虽难可达昆仑'
# 写入一行
row = [1,2,3]
sheet.append(row)
# 写入多行
rows = [['1','2'],['hello world'],['python是世界上最好的语言']]
for i in rows:
	sheet.append(i)

2.4 保存文件

wb.save('test.xlsx')

2.5 代码

#引入openpyxl库
import openpyxl
#利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的空的Excel文件。
wb = openpyxl.Workbook()
#wb.active就是获取这个工作簿的活动表,通常就是第一个工作表
sheet = wb.active
#可以用.title给工作表重命名。第一个工作表的名称就会由原来默认的“sheet1”改为"new title"。
sheet.title = 'new title'
# 写入一格
sheet['A1'] = '从善如登,虽难可达昆仑'
# 写入一行
row = [1,2,3]
sheet.append(row)
# 写入多行
rows = [['1','2'],['hello world'],['python是世界上最好的语言']]
for i in rows:
	sheet.append(i)
wb.save('test.xlsx')

第三章 读取

读取类似与存储的反向

#第一步还是引入库
import openpyxl

#打开工作簿
wb = openpyxl.load_work('test.xlsx')

#获取工作表,有三种方法
sheet1 = wb.worksheets[0]
sheet2 = wb['new title']
sheet3 = wb[wb.sheetnames[0]]
print(sheet1, sheet2, sheet3)

#获取所有工作表的名字
sheetname = wb.sheetnames
print(sheetname)

# 获取工作表总行数
rows = sheet1.max_row
# 获取工作表总列数
cols = sheet1.max_column
# 总行,总列
print(rows, cols)

# 获取某一单元格内容(行, 列),例:2行1列,列表从1开始;也可以直接sheet1.cell(2, 1).value
cell = sheet1.cell(row=2, column=1).value
print(cell)

# 读取第一行的所有内容
row_list = []
for i in range(1, cols + 1):
    cell_value = sheet1.cell(row=1, column=i).value
    row_list.append(cell_value)
print(row_list)

# 读取第一列的所有内容
column_list = []
for i in range(1, rows + 1):
    cell_value = sheet1.cell(row=i, column=1).value
    column_list.append(cell_value)
print(column_list)

# 获取工作表的全部内容(逐行输出)
for i in range(1,rows+1):
	content = []
	for j in range(1,cols+1):
		cell_value = sheet1.cell(row=i,column=j).value
		content.append(cell_value)
	print(content)
		

你可能感兴趣的:(python,excel,python,开发语言)