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自动化开发学习之三级菜单制作
Jul 14 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
Python模块文件结构代码详解
Feb 03 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
Python获取时间戳代码实例
Sep 24 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
Python析构函数__del__定义原理解析
Nov 20 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
详解HTTP Cookie状态管理机制
2016/01/14 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python中异常重试的解决方案详解
2017/05/05 Python
Python探索之pLSA实现代码
2017/10/25 Python
python实现发送邮件功能代码
2017/12/14 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
应用艺术毕业生的自我评价
2013/12/04 职场文书
导师工作推荐信范文
2014/05/17 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
公司与个人合作协议书
2016/03/19 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang