zoukankan      html  css  js  c++  java
  • python 操作excel(附案例)

    关注公众号:Python爬虫数据分析挖掘,免费获取更多开源项目源码

    常见读写excel 的库有以下 几个(附案例)

    1. xlwt
    2. xlrd
    3. xlutils
    4. openpyxl
    5. pandas

    xlwt

    主要用于对xls文件进行写入操作

    import xlwt
    
    #创建workbook 
    book = xlwt.Workbook()
    
    #添加sheet页
    table = book.add_sheet('Over', cell_overwrite_ok=True)
    sheet = book.add_sheet('测试表')
    print(type(table))
    print(table)
    
    print(type(sheet))
    print(sheet)
    #写入 b2单元格内容
    sheet.write(1,1, '你好啊')
    
    # 设置字体样式
    style = xlwt.XFStyle()
    font = xlwt.Font()
    font.name = '楷体'
    font.bold = True
    style.font = font
    
    table.write(0,0, '世界吗?', style)
    book.save(filename_or_stream='xlwt写入xls文件内容.xls')

    xlrd

    主要用于对xls文件进行读取

    import xlrd
    #打开workbook
    data = xlrd.open_workbook('xlwt写入xls文件内容.xls')
    #所有sheet页 名称
    print(data.sheet_names())
    table0 = data.sheets()[0]
    table = data.sheet_by_index(0)
    
    # 获取sheet页
    table = data.sheet_by_name('Over')
    
    # 已有内容的行数和列数
    nrows = table.nrows
    ncolumns = table.ncols
    print(type(nrows), nrows)
    print(type(ncolumns), ncolumns)
    
    # 获取单元格内容的几种方式
    print(table.row_values(0))
    
    for row in range(nrows):
        print(table.row_values(row))
    
    print(table.cell(0,0).value)
    print(table.row(0)[0].value)

    xlutils

    对xlrd 和 xlwt进行了封装 , 在使用前会先下载这两个模块的依赖

    import xlwt,xlrd
    from xlutils.copy import copy
    
    data = xlrd.open_workbook('xlwt写入xls文件内容.xls', formatting_info=True)
    excel = copy(wb=data)#将xlrd对象拷贝转化为xlwt对象
    excel.save('拷贝文件.xls')

    openpyxl

    可对xlsx 进行处理

    import openpyxl
    # 创建workbook
    data = openpyxl.Workbook()
    # 添加sheet页
    data.create_sheet('first')
    
    # 获取激活页(默认第一页)
    table = data.active
    #写入单元格内容
    table.cell(1,1, '')
    # 保存文件
    data.save('openpyxl写文件.xlsx')
    
    
    # 打开文件 获取workbook
    data = openpyxl.load_workbook('openpyxl写文件.xlsx')
    # 获取sheet页
    table = data.get_sheet_by_name('Sheet')
    nrows = table.rows
    ncols = table.columns
    
    print(type(nrows))
    
    for row in nrows:
        print(row)
        line = [col.value for col in row]
        print(line)
    
    print(table.cell(1,1).value)

    pandas

    pandas 主要用于数据分析 ,在 对excel 操作方面也是非常方便

    import numpy as np
    import pandas as pd
    
    # 生成数据
    df = pd.DataFrame(np.random.randn(10, 4))
    
    # 写入 excel
    df.to_excel('foo.xlsx', sheet_name='Sheet1')
    
    # 读取excel
    df2 = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
    print(df2)

    耐得住寂寞,才能登得顶
    Gitee码云:https://gitee.com/lyc96/projects
  • 相关阅读:
    Android.mk添加第三方jar包
    关于回调函数
    Ubuntu下GIT服务器的安装与配置
    三星I9100在Ubuntu下用Adb调试
    Android检测网络是否可用和主机是否可达
    keepalived配置文件解析系列之(一)keepalived简介及配置文件介绍
    keepalived配置文件解析系列之(三)配置文件解析过程
    C语言中的位域(bitfield)概念
    popen和变长参数库函数(va_xxx)用法举例及命令执行失败情况探讨
    《深入理解Linux内核》条目式笔记 _3
  • 原文地址:https://www.cnblogs.com/chenlove/p/13621617.html
Copyright © 2011-2022 走看看