python3.7 openpyxl 在excel单元格中写入数据实例


Posted in Python onSeptember 01, 2020

本来我是想尝试,选中某个多个单元格复制到同一个sheet的其他位置,找了很多资料没有找到,目前只有这么一个办法,如果有大佬看到,欢迎补充请教。

# encoding:utf-8
import pandas as pd
import openpyxl
xl = pd.read_excel(r"E:\55\CRM经营分析表-10001741-1570416265044.xls")
xl.to_excel(r"E:\55\crms.xlsx")
wk = openpyxl.load_workbook(r"E:\55\crms.xlsx") #加载已经存在的excel
wk_name = wk.sheetnames
wk_sheet = wk[wk_name[0]]
 
wk_sheet.cell(row=2,column=2,value='大区') #在第二行,第二列下入“大区”数值
wk_sheet.cell(row=2,column=3,value='小区')
wk_sheet.cell(row=2,column=4,value='店铺编码')
wk_sheet.cell(row=2,column=5,value='店铺名称')
 
wk.save(r"E:\55\s.xlsx")

补充知识:【openpyxl】python中对Excel进行写入操作,写入一列或者一行(从excel中读出label和feature对应格式方法以及插入一行或者一列方法实现)

前言

最近在做expansion of datset,所以需要把扩展的dataset写入到excel中

我已经矩阵运算全部搞定,最终输出的是两个输出 labels 和 features

自己整理为以下格式

label = [[0],
     [1],
     [2],
     [3]
     ]
feature = [
      [0.1, 0.2, 0.3, 0.4, 0.5],
      [0.11, 0.21, 0.31, 0.41, 0.51],
      [0.6, 0.7, 0.8, 0.9, 1.00],
      [1.1, 1.2, 1.3, 1.4, 1.5],
      ]

解决方案

先是准备用python带的xlrd xlrd 等包来操作感觉真的不太行

换思路,用第三方包openpyxl来操作

pip install openpyxl

官方文档在这里

https://openpyxl.readthedocs.io/en/stable/index.html

代码

废话不多说,show you my code

# coding=utf-8
from openpyxl import Workbook
import numpy as np

wb = Workbook()

ws = wb.create_sheet("che")
label = [[0],
     [1],
     [2],
     [3]
     ]
feature = [
      [0.1, 0.2, 0.3, 0.4, 0.5],
      [0.11, 0.21, 0.31, 0.41, 0.51],
      [0.6, 0.7, 0.8, 0.9, 1.00],
      [1.1, 1.2, 1.3, 1.4, 1.5],
      ]
#这个地方之所以 变成numpy格式是因为在很多时候我们都是在numpy格式下计算的,模拟一下预处理
label = np.array(label)
feature = np.array(feature)

label_input = []
for l in range(len(label)):
  label_input.append(label[l][0])

ws.append(label_input)
for f in range(len(feature[0])):

  ws.append(feature[:, f].tolist())
wb.save("chehongshu.xlsx")

结果生成一个excel,最后结果如下图:

python3.7 openpyxl 在excel单元格中写入数据实例

总结

openpyxl包用起来是真的方便,对于写入,只需要建立一个LIST进行append就好了,如果excel为空的那append就从第一行开始递增操作,你也可以理解为一个ws.append()操作就相当于写入一行,如果excel为有数据的时候,那写入操作从没有数据的那一行开始写入;这里也说一下本来想用Insert来着但是忽略了一个条件,就是insert有个前提条件就是For example to insert a row at 7 (before the existing row 7):,意思为插入之前你的数据的大小一定是比要插入的行数或者列数大的,也就是说插入只能插到里面,不能在边缘插。

插入核心参考代码

for col in range(len(label)):

  print col
  ws.insert_cols(col+1)

  for index, row in enumerate(ws.rows):
    #print row
    
     if index == 0:
      #row[col+1].value = label[col][0]
      print "label"
      print label[col]
    else:
      print "feature"
      print feature[col][index-1]
      #row[col+1].value = feature[col][index-1]

读取代码

python3.7 openpyxl 在excel单元格中写入数据实例

def create_data_expansion(path, sheet):
  data_init = pd.read_excel(path, sheet)
  # print data_init
  data_df = pd.DataFrame(data_init)
  print data_df
  data_df_transponse = data_df.T
  label_expansion = np.array(data_df_transponse.index)
  label_expansion_l = []
  for l in range(len(label_expansion)):
    label_expansion_l.append([l])
  feature_expansion = np.array(data_df_transponse)
  label_expansion = np.array(label_expansion_l)

  return label_expansion, feature_expansion

if __name__ == "__main__":
  path_name = "excel_demo.xlsx"
  sheet_name = "11"
  label, feature = create_data_expansion(path_name, sheet_name)
  print label
  print feature

结果:

python3.7 openpyxl 在excel单元格中写入数据实例

以上这篇python3.7 openpyxl 在excel单元格中写入数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
基于DataFrame改变列类型的方法
Jul 25 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
python 自定义装饰器实例详解
Jul 20 Python
python使用minimax算法实现五子棋
Jul 29 Python
python批量处理文件或文件夹
Jul 28 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
python 实现体质指数BMI计算
May 26 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 Python
pycharm无法安装cv2模块问题
May 20 Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 #Python
Python如何截图保存的三种方法(小结)
Sep 01 #Python
Python连接mysql方法及常用参数
Sep 01 #Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 #Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 #Python
Django如何批量创建Model
Sep 01 #Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 #Python
You might like
PHP 错误之引号中使用变量
2009/05/04 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
python删除某个字符
2018/03/19 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
EJB的基本架构
2016/09/22 面试题
优秀求职信范文分享
2013/12/19 职场文书
酒店总经理助理职责
2014/02/12 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
优秀护士演讲稿
2014/04/30 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python