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实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
代码讲解Python对Windows服务进行监控
Feb 11 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
使用requests库制作Python爬虫
Mar 25 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
Django Model中字段(field)的各种选项说明
May 19 Python
Python监听剪切板实现方法代码实例
Nov 11 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文件读写操作之文件读取方法详解
2011/01/13 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
react路由配置方式详解
2017/08/07 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
介绍Python的Django框架中的QuerySets
2015/04/20 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
浅谈Python中的bs4基础
2018/10/21 Python
python pygame实现方向键控制小球
2019/05/17 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
车间机修工岗位职责
2014/02/28 职场文书
新春寄语大全
2014/04/09 职场文书
2016银行求职自荐信
2016/01/28 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python