python针对Excel表格的操作


本文摘自php中文网,作者卡哇伊,侵删。

利用python做excel表格的方法:首先用openpyxl模块打开一个excel文档,指定行指定列的单元格信息;然后调用【wb.sheetnames】和【wb.active】获取工作簿详细信息;最后使用索引读取取得Cell对象。

一 python与Excel表格

Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel电子表格文件
1)excel文档的基本定义
- 工作薄(workbook)
- 工作表(sheet)
- 活动表(active sheet)
- 行(row): 1,2,3,4,5,6……..
- 列(column): A,B,C,D……..
- 单元格(cell): B1, C1
2)python对于Excel表格操作的模块有很多种,这里选用openpyxl模块
但是openpyxl模块时需要进行安装的

1

pip install openpyxl

利用以上命令来安装openpyxl模块

这是选作需要操作的表格
这里写图片描述
1> 打开一个excel文档

1

2

3

4

import openpyxl# 1. 打开一个excel文档,

class 'openpyxl.workbook.workbook.Workbook'实例化出来的对象wb = openpyxl.load_workbook('Book.xlsx')

print(wb, type(wb))# 获取当前工作薄里所有的工作表,和正在使用的表;print(wb.sheetnames)

print(wb.active)

这里写图片描述
输出的是一个对象
2> 选择要操作的工作表

1

2

# 2.选择要操作的工作表,返回工作表对象sheet=wb['Sheet1']

#获取工作表的名称print(sheet.title)

这里写图片描述
3> 指定行指定列的单元格信息

1

2

# 3. 返回指定行指定列的单元格信息print(sheet.cell(row=1, column=2).value)

cell = sheet['B1']print(cell)print(cell.row, cell.column, cell.value)

这里写图片描述
4> 获取工作表中行和列的最大值

1

2

# 4. 获取工作表中行和列的最大值print(sheet.max_column)print(sheet.max_row)

sheet.title = '学生信息'print(sheet.title)

这里写图片描述
5> 访问单元格的所有信息

1

2

3

4

5

6

7

# 5. 访问单元格的所有信息print(sheet.rows) 

# 返回一个生成器, 包含文件的每一行内容, 可以通过便利访问.

# 循环遍历每一行for row in sheet.rows:   

# 循环遍历每一个单元格for cell in row:       

# 获取单元格的内容

   print(cell.value, end=',')

 print()

这里写图片描述
6> 保存修改信息

1

#6.保存修改信息wb.save(filename='Boom.xlsx')

这里写图片描述
因此操作Excel表格可详细的概括如下:
1.导入 openpyxl 模块。
2.调用 openpyxl.load_workbook()函数。
3.取得 Workbook 对象。
4.调用 wb.sheetnames和 wb.active 获取工作簿详细信息。
5.取得 Worksheet 对象。
6.使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
7.取得 Cell 对象。
8.读取 Cell 对象的 value 属性
二 Excel简单实例
- 定义一个函数, readwb(wbname, sheetname=None)
- 如果用户指定sheetname就打开用户指定的工作表, 如果没有指定, 打开active sheet;
- 根据商品的价格进行排序(由小到大), 保存到文件中;商品名称:商品价格:商品数量
- 所有信息, 并将其保存到数据库中

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

import osimport openpyxldef readwb(wbname, sheetname=None):

        # 打开工作薄

    wb = openpyxl.load_workbook(wbname)    # 获取要操作的工作表

    if not sheetname:

        sheet = wb.active    else:

        sheet = wb[sheetname]    # 获取商品信息保存到列表中

    #[ ['name', price, count]

    all_info = []    for row in sheet.rows:

        child = [cell.value for cell in row]

        all_info.append(child)   

        return sorted(all_info, key=lambda

        item: item[1])def save_to_excel(data, wbname, sheetname='sheet1'):

    """

    将信息保存到excel表中;

    [[' BOOK', 50, 3], ['APPLE', 100, 1], ['BANANA', 200, 0.5]]

    """

    print("写入Excel[%s]中......." %(wbname))    #打开excel表, 如果文件不存在, 自己实例化一个WorkBook对象

    wb = openpyxl.Workbook()    # 修改当前工作表的名称

    sheet = wb.active    # 修改工作表的名称

    sheet.title = sheetname    for row, item in enumerate(data):  # 0 [' BOOK', 50, 3]

        for column, cellValue in enumerate(item): #  0 ' BOOK'

        sheet.cell(row=row+1, column=column+1, value=cellValue) # ** 往单元格写入内容

    # sheet.cell['B1'].value = "value"

    # sheet.cell(row=1, column=2, value="value")

    # 保存写入的信息

    wb.save(filename=wbname)

    print("写入成功!")

data = readwb(wbname='Book1.xlsx')

save_to_excel(data, wbname='Book2.xlsx', sheetname="排序商品信息")

这里写图片描述

阅读剩余部分

相关阅读 >>

Python中numpy的广播原则的代码解析

Python中的seth是什么意思

Python怎么下载easygui

全面了解Python爬虫之xlml解析库

Python要用什么软件

2018年最火的七个Python图形化gui开发框架

Python爬虫爬图片需要什么

Python opencv设置摄像头分辨率以及各个参数的方法_Python

Python中if语句的详细介绍

Python open找不到文件怎么办?

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...