




excel基本操作
import openpyxl
#1. 导入工作薄
wb = openpyxl.load_workbook('/tmp/Book1.xlsx')
#2. 查看包含的工作表
print(wb.sheetnames)
#3. 查看当前活动表
print(wb.active)
#4. 从工作薄中选择要操作的工作表
sheet = wb['修改的工作表']
#5. 查看制定单元格的数据
#cell = sheet['B3']
cell = sheet.cell(row=3, column=2)
#6. 获取单元格详细信息
print(cell.value)
#7. 修改单元格信息
cell.value = 1111111
#8. 获取工作表的总行和总列数
print(sheet.max_column)
print(sheet.max_row)
#9. 修改单元表的名称
print(sheet.title)
sheet.title = "修改的工作表"
#10. 遍历历EXCEL表格的所有数据;
print(sheet.rows) # 返回的是一个生成器
#遍历历每一行
for row in sheet.rows:
# 获取每一行, 每个单元格的数据
for cell in row:
print(cell.value, end='\t')
print('\n')
#11. 保存修改的信息
wb.save('/tmp/Book1.xlsx')
表格的读写操作
import openpyxl
def create_to_excel(wbname, data, sheetname="sheet1"):
"""
将指定的信息保存到新建的excel表格中
:param wbname:
:param data: 往excel中存储的数据
:param sheetname:
:return:
"""
print('正在创建excel表格%s...' % (wbname))
# 如果文件不存在,自己实例化一个workbook的对象
wb = openpyxl.Workbook()
# 获取当前活动工作表的对象
sheet = wb.active
# 修改工作表的名称
sheet.title = sheetname
# 将数据data写入excel表格中
print('正在写入数据.....')
for row, item in enumerate(data):
for column, cellValue in enumerate(item):
cell = sheet.cell(row=row + 1, column=column + 1, value=cellValue)
wb.save(wbname)
print('保存工作薄%s成功....' % (wbname))
def readwb(wbname, sheetname=None):
# 加载工作薄
wb = openpyxl.load_workbook(filename=wbname)
# 选择操作的工作表
if not sheetname:
sheet = wb.active
else:
sheet = wb[sheetname]
# 读取数据,存储python的数据结构
goodsInfo = []
for row in sheet.rows:
rowValues = [cell.value for cell in row]
goodsInfo.append(rowValues)
return goodsInfo
if __name__ == '__main__':
data = [
['书籍名称', '数量', '价格'],
['python核心编程', 60, 90],
['java核心编程', 50, 80],
['php核心编程', 100, 70]
]
create_to_excel('doc/excel01.xlsx', data, '书籍信息统计')
goodsInfo = readwb('doc/excel01.xlsx', '书籍信息统计')
print(goodsInfo)
# 按照商品数量进行排序 sorted()
numSortInfo = [goodsInfo[0]] + sorted(goodsInfo[1:], key=lambda x: x[1])
create_to_excel('doc/sorted_by_num.xlsx', numSortInfo, '书籍信息统计按照数量进行排序')

