python 写入excel_【极简Python 自动化办公】Python写入Excel表格

【极简Python 自动化办公】Python写入Excel表格

【极简Python 自动化办公】专栏是介绍如何利用python办公,减少工作负荷。篇幅精炼,内容易懂,无论是否有编程基础,都非常适合。

在上次文章中,我们学习了【用python读取excel】,这次我们继续学习Python写excel吧!

fe53cdf9b4eb8974b903be6159a07f0d.png

0.摘要

本文大约需要15分钟,建议在电脑上打开,边阅读边操作。

  1. 安装Python读excel模块——xlwt
  2. 准备写入表格内容
  3. 编写python代码并运行
    4.使用for循环语句读取并写入excel表格

1.安装xlwt

与上篇文章类似,需要在cmd窗口输入pip install xlwt

d193a26080ae82abf4ac34e79070dc5c.png

2.准备写入表格内容

这步很简单,只要想好输入内容即可,这里设计了一个简单的表格内容作为写入内容(目前这个内容还不存在)。

序号学号年龄张三2019090111李四2019090212小明2019090313

3.编写python代码并运行

新建一个writeexcel.py文件,用记事本或其他文本编辑工具打开。

本次写入excel的思路是,新建文件->指定行列->写入内容。

在文本编辑工具中输入如下代码,保存并关闭。

import xlwt

f = xlwt.Workbook()
sheet1 = f.add_sheet('sheet1',cell_overwrite_ok=True)
column = ["姓名","学号","年龄"]
name = ["张三","李四","小明"]

school_code = [20190901,20190902,20190903]

age = [11,12,13]

sheet1.write(0,0,column[0])#第1行第1列
sheet1.write(0,1,column[1])#第3行第3列
sheet1.write(0,2,column[2])#第2行第2列


sheet1.write(1,0,name[0])#第2行第1列
sheet1.write(1,1,school_code[0])#第2行第1列
sheet1.write(1,2,age[0])#第3行第1列


sheet1.write(2,0,name[1])
sheet1.write(2,1,school_code[1])
sheet1.write(2,2,age[1])

sheet1.write(3,0,name[2])
sheet1.write(3,1,school_code[2])
sheet1.write(3,2,age[2])


f.save('test1.xls')

还是一样,注意每句的开头不可以有空格,因为python用缩进来表示编程的层次,缩进不同就会报错了。

在保存writeexcel.py的位置上打开cmd,运行 python writeexcel.py
可以看到结果:

6bb322723189f284cc51bb78b475a70d.png

6151918931b13917030ad98c80155ef4.png

4.使用for循环语句读取并写入excel表格

非常好!您已经学会了如何读取和写入excel表格。

但是,我们只能一个一个单元格读取和写入数据,这比手工操作excel表格快不了多少。

接下来,我们需要学习使用for循环,来批量读取一个excel表格,并循环写入另一个excel表格中。

不要删除test1.xls,在test1.xls文件的位置,新建一个rwexcel.py文件,将下面代码输入到文件中:

import xlrd
import xlwt

wb = xlrd.open_workbook("test1.xls")#打开文件
sheet1 = wb.sheet_by_index(0)#获取第一个表格

column = []#列名

data=[]

#获取列名
column.append(sheet1.cell(0,0).value)#姓名
column.append(sheet1.cell(0,1).value)#学号
column.append(sheet1.cell(0,2).value)#年龄

for i in range(1,sheet1.nrows):#sheet1.nrows 行数
    coldata=[]
    coldata.append(sheet1.cell(i, 0).value)#姓名
    coldata.append(int(sheet1.cell_value(i, 1)))#学号
    coldata.append(sheet1.cell(i, 2).value)#年龄
    data.append(coldata)


f = xlwt.Workbook()
sheetw = f.add_sheet('sheet1',cell_overwrite_ok=True)

sheetw.write(0,0,column[0])#姓名
sheetw.write(0,2,column[2])#学号
sheetw.write(0,1,column[1])#年龄

for i in range(len(data)):
    d=data[i]
    sheetw.write(i+1, 0, d[0])  # 第2行第1列
    sheetw.write(i+1, 1, d[1])  # 第2行第1列
    sheetw.write(i+1, 2, d[2])  # 第3行第1列

f.save('test2.xls')

运行后,会生成一个test2.xls,与test1.xls一模一样。

人生苦短,我用python早下班。如果觉得不错,对你工作中有帮助,请加我微信公众号flypython,我们一起探讨python相关问题

761a1f87a3cee374881f464a88758639.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值