python3中关于excel追加写入格式被覆盖问题(实例代码)


Posted in Python onJanuary 10, 2020

关于python3中的追加写入excel问题,这个问题坑了我几小时,其实加一个参数即可。

因为之前有写好的excel,想追加写入,但是写入后却只有写入后的单元格格式,之前写的完全消失。

以下是我的代码

这代码可以用是我做的一个爬虫维护项目:

def times():
  User_Agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'
  headers = {
    'User-Agent': User_Agent
  }
  search_url = 'https://www.cnss.com.cn/u/cms/www/indexJson/bdi_month.json?v=1577414941357'
  request = urllib.request.Request(search_url, headers=headers)
  response = urllib.request.urlopen(request)
  content = response.read().decode('utf-8')
  content = ''.join(content)
  # print(content)
  # index = re.findall('index":"(.*?)"', content) # 获取指数
  date = re.findall('date":"(.*?)"', content) # 获取时间
  time = []
  i = 0
  start_date = date[0].replace('.', '年')
  start_date.replace('.', '月')
  end_date = date[-1].replace('.', '年')
  end_date.replace('.', '月')
  # print(index,date,start_date,end_date)
  for j in range(int(len(date) / 1)):
    temp = date[i:i + 1]
    i += 1
    time.append(temp)
    hears = start_date + '日' + '——' + end_date + '日' + '嘻嘻嘻'
    title=['交易日期','干散货指数(BDI)','海岬型指数(BCI)','巴拿马型指数(BPI)','超灵便型船运价指数(BSI)','灵便型船指数(BHSI)']
    sheet1.write_merge(0, 0+0,0,0+5, hears, style)
    for ti in range(len(title)):
      sheet1.write(1, ti+0, title[ti], style)
    for x in range(len(time)):
      for y in range(len(time[x])):
        sheet1.write(x + 2, 0, time[x][y], style)
    f.save('你想放的路径.xls')

上面的代码还是可以继续使用

标题xlwt的缺陷:

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

xlutils的简单使用:

接下来的部分就是关键所在了

formatting_info=True这个参数能保留原excel格式

def write_excel_xls_append(path, value,u):
  index = len(value) # 获取需要写入数据的行数
  workbook = xlrd.open_workbook('./result/30波罗的海干散货运价指数.xls',formatting_info=True) # 打开工作簿
  sheets = workbook.sheet_names() # 获取工作簿中的所有表格
  worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格
  rows_old = worksheet.ncols # 获取表格中已存在的数据的行数
  new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象
  styleS = xlwt.XFStyle()
  alignment = xlwt.Alignment()
  alignment.horz = xlwt.Alignment.HORZ_CENTER
  alignment.vert = xlwt.Alignment.VERT_CENTER
  styleS.alignment = alignment
  new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格
  for i in range(0, index):
    for j in range(0, len(value[i])):
      new_worksheet.write(i+2, u+1, value[i][j],styleS) # 追加写入数据,注意是从i+rows_old行开始写入
  new_workbook.save(path) # 保存工作簿

然后你就会发现你的excel简直完美~~~

总结

以上所述是小编给大家介绍的python3中关于excel追加写入格式被覆盖问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
浅谈Python中数据解析
May 05 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
Jun 09 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
python 中random模块的常用方法总结
Jul 08 Python
详解Golang 与python中的字符串反转
Jul 21 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
Python元组及文件核心对象类型详解
Feb 11 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
python下载的库包存放路径
Jul 27 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 Python
python 5个实用的技巧
Sep 27 Python
mac使用python识别图形验证码功能
Jan 10 #Python
python列表推导和生成器表达式知识点总结
Jan 10 #Python
pytorch的梯度计算以及backward方法详解
Jan 10 #Python
Python如何获取Win7,Win10系统缩放大小
Jan 10 #Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 #Python
Python 实现将数组/矩阵转换成Image类
Jan 09 #Python
python 实现将Numpy数组保存为图像
Jan 09 #Python
You might like
php 验证码实例代码
2010/06/01 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
php中memcache 基本操作实例
2015/05/17 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
最短的IE判断代码
2011/03/13 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
Python计时相关操作详解【time,datetime】
2017/05/26 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
数组越界问题
2015/10/21 面试题
外贸销售员求职的自我评价
2013/11/23 职场文书
宿舍使用违章电器检讨书
2014/01/12 职场文书
开学典礼主持词
2014/03/19 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
安全标语大全
2014/06/10 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
费城故事观后感
2015/06/10 职场文书
感恩的心主题班会
2015/08/12 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python