python向已存在的excel中新增表,不覆盖原数据的实例

yipeiwu_com7年前Python基础

每月需更新某个excel表格,进行两项操作,且不覆盖原有的sheet:

1. 在原来的excel表中新增sheet

2. 往原有的excel表中的某张sheet新增内容

基于python3,使用xlrd,xlwt,具体代码如下,亲测有效,希望对大家有帮助,谢谢!

import xlwt
import xlrd
from xlutils.copy import copy
#打开需要操作的excel表
wb=xlrd.open_workbook(path)
#复制原有表
newb=copy(wb)
#新增sheet,参数是该sheet的名字,可自定义
wbsheet=newb.add_sheet(dl+'-'+dn)
#向新sheet中写入数据。本代码中的d是某个dataframe
wbsheet.write(0,0,'date')
wbsheet.write(0,1,'visited')
wbsheet.write(0,2,'success')
for i in range(d.shape[0]):
  wbsheet.write(i + 1, 0, d.iloc[i, 0])
  for j in range(1,d.shape[1]):
    wbsheet.write(i+1,j,int(d.iloc[i,j]))
#获取原有excel表中sheet名为‘summary'的sheet
sumsheet=newb.get_sheet('summary')
#k表示该sheet的最后一行
k=len(sumsheet.rows)
#想原有sheet后面新增数据
sumsheet.write(k,0,dl+'-'+dn)
sumsheet.write(k,1,int(sum(d['visited'])))
sumsheet.write(k,2,int(sum(d['success'])))
#保存为原有的excel表路径
newb.save(path)

以上这篇python向已存在的excel中新增表,不覆盖原数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python画图把时间作为横坐标的方法

python画图把时间作为横坐标的方法

1、需要将时间字符串转换成datetime类型,语法:data[‘time'] = pd.to_datetime(data[‘time']) 2、将时间列设置成索引列data.set_i...

使用pandas对两个dataframe进行join的实例

需求: 两个文件,一个文件为统计报表,里面含有手机号,另一个文件为手机号段归属地,含有手机号码前七位对应的地区。需要对统计报表进行处理,将手机号所在的归属地加入到统计报表中,使用pand...

python topN 取最大的N个数或最小的N个数方法

如下所示: import numpy as np a = np.array([1,4,3,5,2]) b = np.argsort(a) print(b) print结果[0 4...

关于numpy.where()函数 返回值的解释

近日用到numpy.where()函数,大部分使用方式都能理解,但是在看 >>> x = np.arange(9.).reshape(3, 3) >>&...

python二分法查找算法实现方法【递归与非递归】

本文实例讲述了python二分法查找算法实现方法。分享给大家供大家参考,具体如下: 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表...