Python:Excel文件的写入,追加

需要用到的库:

  1. 操作xls格式的表格文件:

    读取:xlrd

    写入:xlwt

    修改(追加写入):xlutils 操作 Excel 文件的实用工具,如复制、分割、筛选等

  2. 操作xlsx格式的表格文件:

    读取/写入:openpyxl

新建,写入内容,保存。

#coding=utf-8  
import xlwt  
import xlrd  
try:  
    # 创建excel文件  
    filename=xlwt.Workbook()  
    
    # 给工作表命名,test  
    sheet=filename.add_sheet("test")  
    
    # 写入内容,第4行第3列写入‘张三丰’  
    hello=u'张三丰'  
    sheet.write(3,2,hello)  
    
    # 指定存储路径,如果当前路径存在同名文件,会覆盖掉同名文件  
    filename.save("D:/test1.xls")  
except Exception,e:  
    print(str(e))

简单的读取

#coding=utf-8  
import xlwt  
import xlrd  
try:  
    # 创建excel文件  
    filename=xlwt.Workbook()  
    # 给工作表命名,test  
    sheet=filename.add_sheet("test")  
    # 写入内容,第4行第3列写入‘张三丰’  
    hello=u'张三丰'  
    sheet.write(3,2,hello)  
    # 指定存储路径,如果当前路径存在同名文件,会覆盖掉同名文件  
    filename.save("D:/test1.xls")  
except Exception,e:  
    print(str(e))  
#     找到读取文件  
filename='D:/test1.xls'  
# 打开excel文件  
date=xlrd.open_workbook(filename)  
# 根据工作表名称,找到指定工作表  by_index(0)找到第N个工作表  
sheet=date.sheet_by_name('test')  
# 读取第四行第三列内容,cell_value读取单元格内容,指定编码  
value=sheet.cell_value(3,2).encode('utf-8')  
print(value)  

字典格式

import  xlwt

file=xlwt.Workbook(encoding="utf8")
table=file.add_sheet("data")

#字典数据
data = {
        "1":["张三",150,120,100],
        "2":["李四",90,99,95],
        "3":["王五",60,66,68]
        }

ldata=[]

# 对字典的遍历,其实是对‘键’的遍历
num=[a for  a in data]

#for循环将data字典中的键和值分批的保存在ldata中
for x in num:
    t=[int(x)]
    for a in data[x]:
        t.append(a)

    ldata.append(t)

#将数据写入文件,i是enumerate()函数返回的序号数
for i,p in enumerate(ldata):
    for j ,q in enumerate(p):
        table.write(i,j,q)

file.save("test.xls")

在这里插入图片描述

xlwt的缺陷

xlwt只能创建一个全新的excel文件,然后对这个文件进行写入内容以及保存。但是大多数情况下我们希望的是读入一个excel文件,然后进行修改或追加,这个时候就需要xlutils了。

xlutils的简单使用

import  xlrd
import xlutils.copy
# from xlutils.copy import copy

rexcel=xlrd.open_workbook('./hu.xls')   # 用xlrd提供的方法读取一个excel文件
rows=rexcel.sheet_by_index(0).nrows     # 用xlrd提供的方法获得现在已有的行数
excel=xlutils.copy.copy(rexcel)         # 用xlutils提供的copy方法将xlrd的对象转化为xlwt的对象
table=excel.get_sheet(0)                # 用xlwt对象的方法获得要操作的sheet
values=['a','b','v']

row=rows
for i in values:                        # xlwt对象的写方法,参数分别是行、列、值
    table.write(row,0,i)
    table.write(row,1,'haha')
    table.write(row,2,'lala')
    row +=1

excel.save('./huhuhu.xls')               # xlwt对象的保存方法,这时便覆盖掉了原来的excel
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值