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获取beautifulphoto随机某图片代码实例
Dec 18 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
python一键去抖音视频水印工具
Sep 14 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
python队列原理及实现方法示例
Nov 27 Python
Python标准库itertools的使用方法
Jan 17 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 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
B2K与车机的中波PK
2021/03/02 无线电
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PDO::_construct讲解
2019/01/27 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python多线程http压力测试脚本
2019/06/25 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
自我鉴定总结
2014/03/24 职场文书
春风行动实施方案
2014/03/28 职场文书
师范生求职信
2014/06/14 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
首席执行官观后感
2015/06/03 职场文书
文艺委员竞选稿
2015/11/19 职场文书