Python趣事-4-excel

主要内容

许多时候,一般我们将数据存储在一个文件中,如txt文件、excel文件、json文件等。

如果是一个.txt或.json这样类型的文本文件,读取然后利用正则表达式将其过滤就可以了。如果是Excel呢?

一个Excel肯定不能向一个文本文件那样进行处理,当然许多关于读取excel的模块,针对2007版以后的excel,即以.xlsx结尾的,可以使用openpyxl模块

所以,需要先安装openpyxl这一模块

创建一个excel文件

文件:excel_1.py

__author__ = 'simfg'

from openpyxl import Workbook

def main():
    # 创建一个excel工作簿
    wb = Workbook()

    # 创建一个默认表格
    ws = wb.active

    # 存储这个工作簿
    wb.save('openpyxl-1.xlsx')

if __name__ == '__main__':
    main()

运行该文件,就会发现在该目录下多了一个xlsx文件

这里写图片描述

excel创建多个表格

__author__ = 'simfg'

from openpyxl import Workbook
from openpyxl.worksheet import Worksheet

def main():
    wb = Workbook()# type: Workbook

    ws = wb.active# type: Worksheet

    # 修改表格名称
    ws.title = 'First Sheet'

    # 添加表格tab添加颜色,当然也有一些其他样式可以试
    ws.sheet_properties.tabColor = 'ff0000'

    # 创建度多个表格的方法,其中第二个参数表示表格序号
    ws2 = wb.create_sheet('Second Sheet')

    ws3 = wb.create_sheet('Third Sheet',5)

    wb.save('openpyxl-1.xlsx')

if __name__ == '__main__':
    main()

注意:没有修改文件名,它会将以存在的文件覆盖掉

hahh

execl 数据存储

__author__ = 'simfg'

from openpyxl import Workbook
from openpyxl import load_workbook

def main():
    # 读取excel
    wb = load_workbook('openpyxl-1.xlsx')# type: Workbook

    # 获取所有表格
    print(wb.worksheets)

    # 获取第一个表格
    ws = wb['First Sheet']

    # 往第一行第一列写入'aaa'
    ws['A1'] = 'aaa'

    # 往第一行第二列写入'bbb'
    ws.cell(None,1,2,'bbb')

    # 这种方式也许更加清楚有一点
    ws.cell(row=1, column=3, value='bbb')

    wb.save('openpyxl-1.xlsx')

if __name__ == '__main__':
    main()

Note: ws[‘A1’]含义,其中A表示第一列,1表示第一行

这里写图片描述

这里写图片描述

excel 数据读取

__author__ = 'simfg'

from openpyxl import Workbook
from openpyxl import load_workbook

def main():
    # 读取excel
    wb = load_workbook('openpyxl-1.xlsx') # type: Workbook

    ws = wb.get_sheet_by_name('First Sheet')

    # 获取所有的行
    for row in ws.rows:
        for cell in row:
            print("*******")
            print(cell.value)

    print('-------')
    # 获取所有的列
    for col in ws.columns:
        for cell in col:
            print('*******')
            print(cell.value)

    # 获取某个单元格的值
    print(ws.cell('A1').value)

    print(ws.cell(row=1,column=2).value)

if __name__ == '__main__':
    main()

这里写图片描述

合并单元格

from openpyxl import Workbook
from openpyxl import load_workbook


def main():
    # 读取excel
    wb = load_workbook('openpyxl-1.xlsx')  # type: Workbook

    ws = wb.get_sheet_by_name('First Sheet')

    # 合并单元格
    ws.merge_cells('A2:B2')

    ws.merge_cells(start_row=3, start_column=1, end_row=5, end_column=3)

    wb.save('openpyxl-1.xlsx')


if __name__ == '__main__':
    main()

这里写图片描述


扫描左侧二维码,关注个人公众号:SimFG

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值