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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
图文详解WinPE下安装Python
May 17 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python解析基于xml格式的日志文件
Feb 25 Python
python模拟事件触发机制详解
Jan 19 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
Python实现打砖块小游戏代码实例
May 18 Python
python getopt模块使用实例解析
Dec 18 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
python用什么编辑器进行项目开发
Jun 17 Python
零基础学Python之前需要学c语言吗
Jul 21 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
我的论坛源代码(八)
2006/10/09 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
详解webpack babel的配置
2018/01/09 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
体育教师自荐信范文
2013/12/16 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
个人查摆剖析材料
2014/10/04 职场文书
慰问信模板
2015/02/14 职场文书
幼儿园开学通知
2015/04/24 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
如何写新闻稿
2015/07/18 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
解决mysql的int型主键自增问题
2021/07/15 MySQL