首页 > 编程语言 >用python处理excel数据

用python处理excel数据

时间:2024-07-12 23:30:37浏览次数:10  
标签:sheet 读取 python excel 处理 print 借阅 xlrd

1.小技巧:用print()检查代码,可以把想检查的变量作为参数放进括号内打印出来,便于检查

2.第三方库:

  • 1.xlrd读取excel文件。
  •   2.xlwt写入excel文件。
  •   3.xlutils一组excel高级操作的工具

3.xlrd包含四个功能:

  • 1.读取有效单元格的行数和列数。
  • 2.读取指定行或列所有单元格的值。
  • 3.读取指定单元格的值。
  • 4.读取指定单元格的数据类型

准备工作

一、建立一个Excel表格:(参考)

二、检查python版本:3.10以上的版本不能用xlrd读取excel表格。
三、环境配置
1.安装xlrd:

  1. .打开Anaconda prompt,输入conda activate py1(这个是自定义的),进入py1环境
  2. 输入conda install xlrd=1.2.0,指定安装1.2.0版本,如果不指定则默认安装最高版本,但高版本不支持读取excel的文件格式
  3. 验证是否安装成功:
  • 输入python,进入命令行开发模式。
  • 输入import xlrd,没有报错,则安装成功。
  • 输入exit()退出

四、创建python工程:

  • 1.在桌面创建一个test文件夹
  • 2.打开vs code,点击file,找到open Folder并点击,选择打开test文件夹
  • 3.点击左下角设置,点击Command Palette,选择Python:Select Interpreter,选择相应版本的Python,进入相应的环境
  • 4.新建一个.py文件,可以命名为excel_read

#代码部分:



#正式开始编写代码
import xlrd #导入xlrd模块
#读取表单
excel_data=xlrd.open_workbook('C:/Users/Faith/Desktop/books.xlsx')#将文件路径导入括号内,打开excel读取表格中的所有信息
for sheet_ in excel_data.sheets(): #sheet_ 表示当前访问的表单,excel_data.sheets()会得到excel中的所有表单,通过for循环访问,读取每个表单的名字
    print(sheet_.name)#sheet_.name用来获取表名
 

sheet=excel_data.sheet_by_name('Sheet1')#读取名为sheet1的表单,并将所有信息传给sheet
#sheet=excel_data.sheet_by_index(0) 通过索引访问读取表单,打开0处的表单,也就是sheet1

#读取具体信息
nrows=sheet.nrows #获取具体行数
borrow_count=nrows-1 #获取借阅次数
borrow=sheet.row_values(1) #获取第二行所有单元格里的值,1是行的索引,是从0开始计数的,所以1代表的就是第二行
print(borrow) #打印表格第二行的内容

col_=sheet.col_values(1)#获取第二列的内容
print(col_)

#第一个功能,统计书籍借阅次数
book_ids=sheet.col_values(2)#获取书籍id
print(book_ids)

id_count=book_ids.count(1)#统计编号为1的书籍出现的次数
print(id_count)

#第二个功能,借阅人的性别比例分配
gender=sheet.col_values(5)#获取性别
female_count=gender.count('女')#统计女性借阅次数
female_ratio=female_count/borrow_count#统计女性借阅次数占比,女性借阅次数/总借阅次数
print(female_ratio)
male_ratio=1-female_ratio#统计男性借阅次数占比
print(male_ratio)

#第三个功能,统计借阅人的年龄区间
ages=sheet.col_values(4)#获取年龄那一列的全部信息
print(ages)
ages=ages[1:]#去掉表头,取出从索引1开始的所有元素
min_age=min(ages)#计算最小年龄
max_age=max(ages)#计算最大年龄
print(min_age)
print(max_age)

#以格式化字符串的方式输出
#以.format()的方法打印借阅次数
print("书籍{0}被借阅{1}次".format(1,id_count))
#用%方法答应借阅人的性别比例分配
print("借阅人中,女性占比%f,男性占比%f"%(female_ratio,male_ratio))
#用f-string的方法打印借阅人的年龄区间
print(f"借阅人最小年龄为{min_age},最大年龄为{max_age}")

标签:sheet,读取,python,excel,处理,print,借阅,xlrd
From: https://blog.csdn.net/m0_73669390/article/details/140300084

相关文章

  • 当需要在不同操作系统和编程语言环境中共享和处理 XML 数据时,可能会遇到哪些兼容性问
    在不同操作系统和编程语言环境中共享和处理XML数据时,可能会遇到以下兼容性问题:编码问题:不同操作系统和编程语言对于XML文件的默认编码可能不同。如果使用不同的编码方式,可能会导致乱码或无法正确解析XML数据。解决方法是在处理XML数据时,通过指定正确的编码方式来......
  • 【Python 基础】列表 - 1
    列表在你能够开始编写程序之前,还有一个主题需要理解,那就是列表数据类型及元组。列表和元组可以包含多个值,这样编写程序来处理大量数据就变得更容易。而且,由于列表本身又可以包含其他列表,所以可以用它们将数据安排成层次结构。列表数据类型“列表”是一个值,它包含多个字构......
  • 【python学习】面向对象编程以及面向对象编程的核心概念和使用方法
    引言Python语言设计之初,就是为了面向对象,所以Python的面向对象更加易于理解。面向对象编程中,我们将现实世界的实体视为对象,每个对象都有属性(数据)和行为(方法)文章目录引言一、面向对象编程是什么二、面向过程编程和面向对象编程的区别2.1面对过程编程2.2面向对象编......
  • 【Python123题库】#查询省会 #字典的属性、方法与应用
    禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/140081665参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301有帮助麻烦点个赞~~Python123题库查询省会字典的属性、方法与应用查询省会类型:字典‪‬‪‬‪‬‪‬‪‬‮‬‪‬......
  • Sentinel-1 Level 1数据处理的详细算法定义(二)
    《Sentinel-1Level1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level1处理算法和方程,以便生成Level1产品。这些算法适用于Sentinel-1的Stripmap、InterferometricWide-swath(IW)、Extra-wide-swath(EW)和Wave模式。今天介绍的内容如下:S......
  • 超详细Python教程——迭代器和生成器
    迭代器和生成器迭代器是实现了迭代器协议的对象。Python中没有像protocol或interface这样的定义协议的关键字。Python中用魔术方法表示协议。__iter__和__next__魔术方法就是迭代器协议。classFib(object):"""迭代器"""def__init__(self,num):......
  • [SUCTF 2019]Pythonginx 1
    目录题目代码分析urlsplit()nginx文件位置解题题目代码分析fromflaskimportFlask,Blueprint,request,Response,escape,render_templatefromurllib.parseimporturlsplit,urlunsplit,unquotefromurllibimportparseimporturllib.requestapp=......
  • python————集合干货
    1.集合的定义python中的集合是一种无序的,元素不重复的数据结构。定义集合的方式:方式一:        #方式一不可以定义空集合s0={1,2,3,4}print(s0,type(s0))方式二:#方式二s1=set()print(s1,type(s1))s2=set(range(10))print(s0,type(s0))2.集合的......
  • python的视频处理实操宝典
    前言Python视频去抖动是指利用Python编程语言和相关的图像处理库,对视频中由于相机震动或手持拍摄等原因而导致的画面抖动进行处理的技术。视频去抖动的目的是使得视频画面更加稳定,减少抖动,提高观看体验。通常,视频去抖动的实现可以采用多种方法,包括基于帧差的方法、运动估......
  • python:使用matplotlib库绘制图像(四)
    作者是跟着http://t.csdnimg.cn/4fVW0学习的,matplotlib系列文章是http://t.csdnimg.cn/4fVW0的自己学习过程中整理的详细说明版本,对小白更友好哦!四、条形图1.一个数据样本的条形图条形图:常用于比较不同类别的数量或值,以及进行简单的数据分析。直方图:常用于分析数据的集中趋......