IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 操作Excel文件 -> 正文阅读

[Python知识库]Python 操作Excel文件

Python 操作Excel文件

Excel 是我们在日常办公中可谓是无处不见,Excel主要又两种文件后缀名格式——(.xls/.xlsx)。现在使用的最多的是以.xlsx为后缀名的文件,它比.xls占的空间更少。

  • 对于Excel的处理日常我们所用 的工具以微软开发的Excel为主,它是一种图像化界面操作很容易上手。处理这类文件的最大疼点——函数的使用————工作量大(存在大量重复的工作)
  • exce文件的结构包括两大部分: 工作簿和工作表,一个工作部里面可以同时存在多个工作表。

1. 用到的三方库

  • 这主要介绍excel 文件的读写的主流的三方库
  • xlrd ----- 用于读以.xlsx文件,新版本只能读.xlsx结尾的文件。对于1.2.0的版本可以同时读.xls.xlsx两种版本的excel文件,再安装三方库发时候可以安装指定版本的库,pip install xlrd==1.2.0.
  • xlwt ---- 用于写excel 文件.
  • openpyxl----同时可以支持excel的文件的读写,是处理excel首选的处理方法

2. 读excel文件

  • xlrd读excel文件

    步骤:打开工作簿创建工作簿对象————>获取工作表对象————>得到每个单元格对象————>遍历单元格里面的值。

    import xlrd
    
    wb = xlrd.open_workbook('data/阿里巴巴2020年股票数据.xlsx')  # 打开工作簿创建工作簿对象
    sheet_name = wb.sheet_names()[0]  # 获取表单名
    # print(sheet_name)
    sheet = wb.sheet_by_name(sheet_name)  # 通过表单名创建工作区对象
    # print(sheet.nrows, sheet.ncols)  # 获取行数和列数
    for row in range(sheet.nrows):
        for col in range(sheet.ncols):
            value = sheet.cell(row, col).value
            # 对除首行外的其他行进行数据格式化处理
            if row > 0:
                # 第1列的xldate类型先转成元组再格式化为“年月日”的格式
                if col == 0:
                    # xldate_as_tuple函数的第二个参数只有0和1两个取值
                    # 其中0代表以1900-01-01为基准的日期,1代表以1904-01-01为基准的日期
                    value = xlrd.xldate_as_tuple(value, 0)  #返回一个六元组
                    value = f'{value[0]}{value[1]:>02d}{value[2]:>02d}日'
                # 其他列的number类型处理成小数点后保留两位有效数字的浮点数
                else:
                    value = f'{value:.2f}'
            print(value, end='\t\t')
        print()
    
    
  • openpyxl读取excel文件

import openpyxl

# 获取工作簿对象
wb = openpyxl.load_workbook('data/阿里巴巴2020年股票数据.xlsx')
# print(type(wb))
print(wb.sheetnames)  # 获取sheet表的名字,返回一个列表
# 获取sheet对象
sheet = wb.worksheets[0]
print(type(sheet))

for row in range(2, sheet.max_row+1):  # 索引从1开始
    for col in range(1, sheet.max_column+1):
        value = sheet.cell(row, col).value
        if col == 1:
            print(value.strftime('%y-%m-%d'), end='\t')
        else:
            print(value, end='\t')
    print()

  • 从上面的两段代码可以看出openpyxl库处理excel文件更占更大的优势。基本上都是相同的生成wookbook对象一个是打开一个是加载文件。

3. 写excel 文件

  • xlwt写excel文件
  • 步骤和读的步骤一样
import random

import xlwt

# 创建工作簿
wb = xlwt.Workbook('data/成绩.xls')

# 添加工作表
sheet = wb.add_sheet('学生成绩')  # type: xlwt.Worksheet

# 向单元格写入数据
title = ['姓名', '语文', '数学', '英语']
for index, value in enumerate(title):				
    sheet.write(0, index, value)  # 第一个参数row,第二个参数column ,第三个参数要写入的内容

name = ['张华', '刘谦', '吴昊', '龙源', '杨柳']
for row in range(1, 6):
    sheet.write(row, 0, name[row-1])  # 将姓名写入第一列
    for col in range(1, 4):
        sheet.write(row, col, random.randrange(50, 101))
# 保存
wb.save('data/成绩.xls')

? 需要注意的是xlwt对表的行列的所有都是从0开始.

  • openpyxl 写excel文件
import random

import openpyxl
from xlutils.copy import copy

wb1 = openpyxl.Workbook()
sheet1 = wb1.create_sheet('sheet1')
sheet1.title = '成绩'
name = ['张三', '李四', '王二', '麻子', '龙王']
scour = ['语文', '数学', '英语']
for index, value in enumerate(name):
    sheet1.cell(index + 2, 1, value)
for index, value in enumerate(scour):
    sheet1.cell(1, index + 2, value)

for row in range(2, 7):
    for col in range(2, 5):
        sheet1.cell(row, col, random.randrange(60, 101))

wb1.save('data/四班成绩.xlsx')

? openpyxl 写excel文件对表的行和列都是从1开始

简单的总结

常工作效率,解决大量的繁琐工作。在处理excel文件当以.xls为后缀名用xlrd和xlwt分别对文件进行读和写操作,以.xlsx为后缀名用openpyxl可以同时对文件进行读写操作。excel也是我们工作中非常重要的一部分,用python可以实现办公自动化。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:33:29  更:2021-08-12 16:34:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 4:44:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码