Python xlrd/xlwt 创建excel文件及常用操作

下面就为您讲解“Pythonxlrd/xlwt创建excel文件及常用操作”的完整实例教程。

1. 准备工作

在使用pythonxlrd/xlwt库之前,需要先安装这两个库。可以使用pip命令进行安装。

pip install xlrd xlwt

2. 创建Excel文件

要创建一个Excel文件,首先需要使用xlwt库创建一个Workbook对象,然后在该对象上创建一个Worksheet对象,最后在Worksheet对象上添加数据并保存即可。

下面是一个例子,创建一个包含学生信息的Excel表格:

import xlwt

# 创建Workbook对象
wb = xlwt.Workbook()

# 创建Worksheet对象
ws = wb.add_sheet('sheet1')

# 写入数据
ws.write(0, 0, '姓名')
ws.write(0, 1, '年龄')
ws.write(0, 2, '性别')

ws.write(1, 0, '张三')
ws.write(1, 1, 20)
ws.write(1, 2, '男')

ws.write(2, 0, '李四')
ws.write(2, 1, 21)
ws.write(2, 2, '女')

# 保存文件
wb.save('student.xls')

以上代码创建了一个名为student.xls的Excel文件,包含一个名为sheet1的工作表,数据如下:

姓名 年龄 性别
张三 20
李四 21

3. 打开Excel文件

打开现有的Excel文件同样需要用到xlrd库。使用xlrd库打开一个Excel文件是通过open_workbook函数实现的,该函数的参数为Excel文件的路径。

下面是一个例子,打开刚才创建的student.xls文件,并读取里面的数据:

import xlrd

# 打开文件
wb = xlrd.open_workbook('student.xls')

# 获取Worksheet对象
ws = wb.sheet_by_name('sheet1')

# 读取数据
name = ws.cell(1, 0).value # 获取第2行第1列单元格的值
age = ws.cell(1, 1).value # 获取第2行第2列单元格的值
sex = ws.cell(1, 2).value # 获取第2行第3列单元格的值

print(name, age, sex) # 输出:张三 20 男

4. 示例说明

以上是使用xlwt/xlrd库创建和打开Excel文件的简单示例,下面再给出一个实际应用的例子。

假设某公司需要统计每个月员工的出勤情况,并且需要将统计结果以Excel文件的形式汇总起来,每个月的汇总数据放在不同的工作表中。我们可以使用xlwt库将数据写入Excel文件,使用xlrd库读取Excel文件中的数据。

# 导入所需的库
import xlwt
import xlrd
import datetime

# 获取当前日期
now = datetime.datetime.now()

# 模拟员工出勤数据
attendance_data = {
    '张三': [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0],
    '李四': [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1],
    '王五': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}

# 创建Workbook对象
wb = xlwt.Workbook()

# 循环创建每个月的工作表,并将统计数据写入工作表
for i in range(12):
    # 获取月份字符串,如:'2022/01'
    month = now.strftime('%Y/%m')

    # 创建Worksheet对象
    ws = wb.add_sheet(month)

    # 写入表头
    ws.write(0, 0, '姓名')
    ws.write(0, 1, '出勤天数')

    # 循环写入每个员工的出勤数据
    row = 1
    for name, data in attendance_data.items():
        attendance = sum(data[i:i+30]) # 统计该员工该月的出勤天数
        ws.write(row, 0, name)
        ws.write(row, 1, attendance)
        row += 1

    # 获取上个月的最后一天日期
    now -= datetime.timedelta(days=1)

# 保存文件
wb.save('attendance.xls')

# 打开文件
wb = xlrd.open_workbook('attendance.xls')

# 获取最后一个工作表,即12月的出勤情况
ws = wb.sheet_by_index(11)

# 获取最后一个员工的出勤天数
name = ws.cell(3, 0).value
attendance = ws.cell(3, 1).value

print(f'{name}在12月的出勤天数为{attendance}天。')

以上代码会创建一个名为attendance.xls的Excel文件,包含12个工作表,每个工作表对应一个月的出勤情况。本例中创建了一个名为attendance_data的字典,存储了3名员工每个月的出勤情况,每个月的出勤情况以列表的形式存储。

示例中循环12次,每次创建一个新的工作表,将该月的统计数据写入工作表中。统计方法为循环每个员工的出勤情况列表,使用切片的方式取出该员工该月的出勤情况,并统计该列表中值为1的个数。

最后,通过使用xlrd库读取Excel文件中的数据来获取12月的出勤情况,并输出最后一个员工的出勤天数。

以上就是完整的“Pythonxlrd/xlwt创建excel文件及常用操作”教程,希望能够对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python xlrd/xlwt 创建excel文件及常用操作 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python实现for循环倒序遍历列表

    在Python中,可以使用for循环来遍历列表中的元素。有时候,我们需要倒序遍历列表,即从后往前遍历。本文将详细讲解Python实现循环倒序遍历列表的方法。 方法一:使用reversed函数 在Python中,可以使用reversed函数来倒序遍历列表。下面是一个示例: # 示例1:使用reversed函数倒序遍历列表 lst = [1, 2, 3, 4, …

    python 2023年5月13日
    00
  • python matplotlib 画dataframe的时间序列图实例

    下面是详细讲解“python matplotlib 画dataframe的时间序列图实例”的完整攻略: 1. 准备工作 首先,需要安装matplotlib和pandas两个库,可以使用pip进行安装: pip install matplotlib pandas 同时,还需要准备一个时间序列的数据集(比如股票价格、气象数据等)来进行绘图。这里我们以一个包含两列…

    python 2023年5月18日
    00
  • python将时分秒转换成秒的实例

    以下是关于“python将时分秒转换成秒的实例”的详细攻略: 1.目标 要将输入的时分秒转换成秒的形式,例如输入“01:20:30”,输出“4830”(即1小时20分30秒对应的总秒数)。 2.思路分析 首先,我们需要将输入的时分秒字符串进行分割,分别得到时、分、秒三个整型数值。然后,再使用公式“总秒数 = 时 x 3600 + 分 x 60 + 秒”进行转…

    python 2023年6月2日
    00
  • Scrapy启动报错invalid syntax的解决

    当使用Scrapy框架进行爬虫爬取时,有些用户可能会遇到SyntaxError: invalid syntax这样的报错。这种报错通常是由于代码中存在语法错误而导致的。 以下是解决这个错误的完整攻略: 步骤1:仔细检查代码 首先,用户应该仔细检查他们的代码,特别是检查可能的语法错误。检查代码并确保代码结构正确,以及所有的括号和引号都是成对出现的。 例如,以下…

    python 2023年5月13日
    00
  • 基于Python-Pycharm实现的猴子摘桃小游戏(源代码)

    让我为您详细讲解一下“基于Python-Pycharm实现的猴子摘桃小游戏(源代码)”的完整攻略。 游戏简介 该游戏的玩法为猴子从树上摘桃子,根据桃子的数量来判断游戏难度。主要分为以下几个步骤: 选择难度(即桃子数量) 猴子摘桃 判断玩家是否成功 Pycharm安装和配置 首先,在您的电脑上安装Pycharm。安装的方式可以搜索相关资料,这里就不再详细说了。…

    python 2023年5月31日
    00
  • Excel 如何检查一个形状或图像是否存在于活动的Excel表格中

    在 Excel 中,您可以使用“COUNTIF”函数来检查一个形状或图像是否存在于活动的 Excel 表格中。以下是完整攻略: 使用 COUNTIF 函数检查形状或图像是否于活动的 Excel 表格中 在 Excel 中,选择要检查的单元格。 在公式栏中输入以下公式:=COUNTIF(ActiveSheet.Shapes.Name, “shape_name”…

    云计算 2023年5月10日
    00
  • 自制 Python 并写入 /Library/Python/2.7/site-packages/?

    【问题标题】:Homebrew Python and writing to /Library/Python/2.7/site-packages/?自制 Python 并写入 /Library/Python/2.7/site-packages/? 【发布时间】:2023-04-01 20:19:02 【问题描述】: 是否有关于如何正确安装 Homebrew 的…

    Python开发 2023年4月8日
    00
  • 如何解决cmd运行python提示不是内部命令

    如果在使用命令行或者终端(如cmd或者powershell)运行python脚本时出现“python不是内部或外部命令,也不是可运行的程序或批处理文件”错误,一般是环境变量设置不正确导致的。为了解决这个问题,我们需要按照以下步骤进行操作。 确定Python安装路径 首先需要确认Python的安装路径,比如在Windows系统上,Python通常安装在C盘Pr…

    python 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部