dtcms模板 进程 ruby linq recursion loam算法测试 ros 打印 rspec jackson webkit vue钩子函数 vue前端开发 管理后台模板 pmp学习视频 js鼠标离开事件 oracle分页关键字 当前线程等待5秒 linux自动获取ip matlab自然对数 python运行环境 java的继承 java运算符 java获取当前月份 java入门学习 java正则替换 如何查看java版本 java获取当前线程 java线程中断 shell脚本参数 删除数组中的某个元素 相关软件 修改tomcat端口 python封装 谷歌地球用不了 电脑cmd命令大全 wegame更新失败 圆角矩形工具改变弧度 proteus8 骰子牛牛怎么玩 万能低格工具还原u盘
当前位置: 首页 > 学习教程  > python

Python 实现 Excel 的读写操作「写入Excel文件」

2021/2/8 12:35:30 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

关注公众号 :AI悦创,首发公众号与个人博客网站。 个人博客网站链接:https://www.aiyc.top/1429.html 你好,我是悦创。前面给你讲解了什么是办公自动化,和环境安装,接下来我们来实际操作教学。 本文课&am…

关注公众号 :AI悦创,首发公众号与个人博客网站。

个人博客网站链接:https://www.aiyc.top/1429.html

你好,我是悦创。前面给你讲解了什么是办公自动化,和环境安装,接下来我们来实际操作教学。

本文课,我们来熟悉下 Excel 的读和写操作。

首先来学习下,随机生成数据,写入一个 Excel 文件并保存,所使用到的库,是 xlwt,安装命令 pip install xlwt ,安装简单方便,无依赖,很快。

然后打开一个 jupyter 网页文件,第一个代码块,先导入 xlwt 这个库,并新建一个 WorkBook 对象。

import xlwt
wb = 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 faker
fake = 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')

然后找到文件,文件的位置就是这个 jupyter 文件的旁边。使用 office 或者 wps 打开这个 xls 文件,如下截图:
image.png

一共有100行,其中头部一行,虚假用户信息 99 行。

完整代码:

import xlwt
import faker
wb = xlwt.Workbook()
sheet = wb.add_sheet("第一个 sheet")

head_data = ['姓名', '地址', '手机号', '城市']
for head in head_data:
	sheet.write(0, head_data.index(head), head)
# sheet.write(x行, y列, head)

fake = 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.save('虚假用户数据.xls')

本文链接: http://www.dtmao.cc/news_show_2000343.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?