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实现web方式logview的方法
Aug 10 Python
Python监控主机是否存活并以邮件报警
Sep 22 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
python Tensor和Array对比分析
Jan 08 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
Mar 03 Python
Python-for循环的内部机制
Jun 12 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 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
咖啡的化学
2021/03/03 咖啡文化
改进的IP计数器
2006/10/09 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
网页常用特效代码整理
2006/06/23 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
百度地图api如何使用
2015/08/03 Javascript
常用的javascript设计模式
2017/01/11 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python生成词云的实现方法(推荐)
2017/06/13 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
几个Shell Script面试题
2014/04/18 面试题
自荐书4要点
2014/01/25 职场文书
进步之星获奖感言
2014/02/22 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
好好学习保证书
2015/02/26 职场文书
故意杀人案辩护词
2015/05/21 职场文书
详解Python牛顿插值法
2021/05/11 Python