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:
- .打开Anaconda prompt,输入conda activate py1(这个是自定义的),进入py1环境
- 输入conda install xlrd=1.2.0,指定安装1.2.0版本,如果不指定则默认安装最高版本,但高版本不支持读取excel的文件格式
- 验证是否安装成功:
- 输入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