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程序员
Jun 12 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
python实现倒计时小工具
Jul 29 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
Python接口测试结果集实现封装比较
May 01 Python
python代码能做成软件吗
Jul 24 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
PyQt 如何创建自定义QWidget
Mar 24 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
vue中引用阿里字体图标的方法
2018/02/10 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
一些常用的Python爬虫技巧汇总
2016/09/28 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
python、Matlab求定积分的实现
2019/11/20 Python
Keras loss函数剖析
2020/07/06 Python
Python远程方法调用实现过程解析
2020/07/28 Python
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
文科教师毕业的自我评价
2014/01/16 职场文书
测绘工程专业求职信
2014/07/15 职场文书
党建工作整改措施
2014/10/28 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
介绍信格式样本
2015/05/05 职场文书
开天辟地观后感
2015/06/09 职场文书
酒店员工管理制度
2015/08/05 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
MySQL池化框架学习接池自定义
2022/07/23 MySQL