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 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
python实现给微信公众号发送消息的方法
Jun 30 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Django ORM filter() 的运用详解
May 14 Python
Python字符串函数strip()原理及用法详解
Jul 23 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安全配置
2006/10/09 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
Python库urllib与urllib2主要区别分析
2014/07/13 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Python通过future处理并发问题
2017/10/17 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
Django中间件基础用法详解
2019/07/18 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
通过python检测字符串的字母
2020/02/18 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
作为网站管理者应当如何防范XSS
2014/08/16 面试题
个人合作协议书范本
2014/04/18 职场文书
美术社团活动总结
2014/06/27 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
计划生育工作汇报
2014/10/28 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
MySQL 服务和数据库管理
2021/11/11 MySQL
golang中的struct操作
2021/11/11 Golang