编程小白的自学笔记一(用python处理表格文件)

举报
踏破千重浪 发表于 2023/07/26 22:35:14 2023/07/26
【摘要】 xlrd是Python的一个库,用于读取和解析Microsoft Excel文件。

目录

前言 

一、表格文件的创建

二、表格文件的写入

三、表格文件的读取

总结


前言 

最近python语言越来越火,有很多像我一样的小白想深入了解它,所以我将学习情况进行记录,供自己复习,也给其他朋友参考,有不对之处欢迎批评指正。

我是以前上大学的时候学过JAVA,但是多年过去已经忘了99%,基本上算是编程小白,所以学习情况可以被大部分小白借鉴。自学面临的情况就是前面简单的基础介绍一看就懂,看了想睡觉,但是到了后面稍有难度的地方就学起来比较困难了,比如文件的操作,直接看爬虫等代码基本就是看不懂,学习起来难以沉下心。所以决定进行学习记录,确保基础学的扎实。言归正传,下面记录一下今天学习的内容。

一、表格文件的创建

Python没有提供直接操作EXCEL表格的模块,需要安装xlrd和xlwt第三方模块。安装模块在第一次安装Python的时候应该都操作过,直接在命令行下输入pip install xlrd xlwt,当提示安装成功以后,我们就可以用啦。

创建表格需要用到xlwt模块里面的Workbook函数,同时使用add_sheet函数添加一个工作表,最后使用save函数进行保存。具体代码如下:

import xlwt
book = xlwt.Workbook()
sheet1 = book.add_sheet('数据1')
book.save('new.xls')

 运行完毕后,我们就会发现在目录里多了一个new表格。

二、表格文件的写入

创建好表格文件后,我们只需要使用write函数就能实现写入功能,write函数里有三个参数,前两个参数是写入的位置,第三个参数是写入的内容。可以将表格看成一个坐标轴,A1=00,A2=10,B1=01,B2=11以此类推,具体操作代码如下:

import xlwt
book = xlwt.Workbook()
sheet1 = book.add_sheet('编程语言')
sheet1.write(0,0,'python')
sheet1.write(1,0,'java')
book.save('new.xls')

上面的代码运行后,我们创建了一个叫new的excel表格,第一个工作叫编程语言,A1的内容为python,A2的内容为java。 

三、表格文件的读取

我们已经能够创建表格和写入内容,下面便是读取内容,这时候用到的模块变了,使用的是xlrd模块,导入模块以后,使用open_workbook函数打开表格,然后使用sheet_by_index方法获取第一个工作表,参数0表示第一个表,row_values可以获取一行的数据,这样可以通过for循环遍历工作表内容。代码如下:

import xlrd
workbook = xlrd.open_workbook('new.xls')
table = workbook.sheet_by_index(0)
print(table.nrows)
for rownum in range(table.nrows):
    row = table.row_values(rownum)
print(row)

这里table.nrows返回的是表格里有几行数据。结果如下:

文件的读写.png

我发现我并没有输入B2内容,但是却返回一个空字符串,那么就是系统会默认添加。


总结

xlrd是Python的一个库,用于读取和解析Microsoft Excel文件。以下是xlrd库中一些常用方法的详细解析:

1. `open_workbook(filename)`:打开Excel文件并返回一个Workbook对象。
2. `sheet_by_index(index)`:根据索引号获取工作表,索引号从0开始。
3. `sheet_by_name(name)`:根据名称获取工作表,名称为字符串类型。
4. `nrows()`:获取工作表中的行数。
5. `ncols()`:获取工作表中的列数。
6. `cell_value(row, col)`:获取指定单元格的值,其中row和col分别表示行号和列号。
7. `row_values(row)`:获取指定行的所有单元格的值,返回一个列表。
8. `col_values(col)`:获取指定列的所有单元格的值,返回一个列表。
9. `cell_type(row, col)`:获取指定单元格的数据类型,返回一个整数。
10. `cell_is_date(row, col)`:判断指定单元格是否为日期格式,返回一个布尔值。
11. `cell_is_numeric(row, col)`:判断指定单元格是否为数字格式,返回一个布尔值。
12. `cell_is_string(row, col)`:判断指定单元格是否为字符串格式,返回一个布尔值。
13. `cell_bool(row, col)`:获取指定单元格的布尔值。
14. `cell_error(row, col)`:获取指定单元格的错误信息。
15. `save(workbook)`:将Workbook对象保存到文件中。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。