写入Excel文件
随机生成数据,写入一个Excel文件并保存,所使用到的库,是xlwt,安装命令pip install xlwt
,安装简单方便,无依赖,很快。
然后打开一个jupyter网页文件,第一个代码块,先导入xlwt这个库,并新建一个WorkBook对象。
import xlwtwb = xlwt.Workbook() # 新建一个workbook对象
Excel的每个文件,里面可以有很多sheet,所以有了workbook,还需要新建sheet
sheet = wb.add_sheet('第一个sheet')
有了sheet,就可以开始写入数据了。sheet里面是一个二维的表格,并且索引是从0开始的,所以第一步,先写头部数据。
head_data = ['姓名','地址','手机号','城市']for head in head_data: sheet.write(0,head_data.index(head),head)
write函数写入,分别是x行 x列 数据,头部数据永远是第一行,所以第0行。数据的列,则是当前数据所在列表的索引,直接使用index函数即可。
有了头部数据,现在就开始写入内容了,分别是随机姓名 随机地址 随机号码 随机城市,数据的来源都是faker库,一个专门创建虚假数据用来测试的库,安装命令:pip install faker
。
因为头部信息已经写好,所以接下来是从第1行开始写数据,每行四个数据,准备写99个用户数据,所以用循环,循环99次,代码如下
import fakerfake = faker.Faker()for i in range(1,100): sheet.write(i,0,fake.first_name() + ' ' + fake.last_name()) sheet.write(i,1,fake.address()) sheet.write(i,2,fake.phone_number()) sheet.write(i,3,fake.city())
数据全部写好了,但是此时数据保存在wb这个对象中,wb就是最开始的Workbook。
但是wb中的数据,不是永久的;保存成文件,才是永久的。Workbook对象,提供save函数,可以直接保存成xls文件,代码如下
wb.save('虚假用户数据.xls')
b.save('虚假用户数据.xls')
然后找到文件,文件的位置就是这个jupyter文件的旁边。使用office或者wps打开这个xls文件,如下截图:
一共有100行,其中头部一行,虚假用户信息99行。
读取Excel文件
写入Excel的库是xlwt,对应write;读取Excel的库是xlrd,对应read;xlrd的安装命令:pip install xlrd
首先导入xlrd,然后打开前面写好的 “虚假用户数据.xls”,代码如下:
import xlrdwb = xlrd.open_workbook('虚假用户数据.xls')
打开了文件之后,wb代表当前文件。读取数据,需要指定具体的sheet,有两种方式,分别是通过索引和名称,如下代码:
sheets = wb.sheets() # 获取文件中全部的sheet,返回结构是list。sheet = sheets[0] # 通过索引顺序获取。sheet = wb.sheet_by_index(0) # 直接通过索引顺序获取。sheet = wb.sheet_by_name('第一个sheet') # 通过名称获取。
此时获取到了sheet对象,然后从这里取出数据就可以。
sheet的内容是二维表格,取数据全靠行数和列数,定位具体的格子,然后拿到格子里面的内容。
如果我们要取出全部的内容咋办?获取sheet的总行数和列数,然后循环就行。
取出总行数和列数的代码如下:
rows = sheet.nrowscols = sheet.ncols
rows就是总行数,cols是总列数。有这两值,然后两层循环,取数据就行,如下代码:
for row in range(rows): for col in range(cols): print(sheet.cell(row,col).value,end=' , ') print('\n')
效果图【只截图头部】:
读数据,指定某行某列,定位到具体方格,取出里面的值即可,代码是 sheet.cell(row,col).value 。
推荐阅读:- 了解HashMap数据结构,超详细!
- 学不完的办公技巧 ▏Excel篇
- Word快速求和小技巧
- Wps如何调整文字字符的间距
- 干货,超有用的办公小技巧!!!
- 如何查询打印机的ip地址
- WPS启动反应速度慢,该如何解决?
- 强大的在线办公工具,值得你体验~
- wps文字里面的表格怎么自动填充序号
- WPS如何添加自己喜欢的字体?