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使用minidom读写xml的方法
Jun 03 Python
fastcgi文件读取漏洞之python扫描脚本
Apr 23 Python
Python程序运行原理图文解析
Feb 10 Python
python学习基础之循环import及import过程
Apr 22 Python
python代码过长的换行方法
Jul 19 Python
python代码 输入数字使其反向输出的方法
Dec 22 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
解决Django中多条件查询的问题
Jul 18 Python
python实现实时视频流播放代码实例
Jan 11 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
python实现坦克大战
Apr 24 Python
pycharm软件实现设置自动保存操作
Jun 08 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
如何利用python查找电脑文件
2018/04/27 Python
python使用多进程的实例详解
2018/09/19 Python
python3实现高效的端口扫描
2019/08/31 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2015年大学生实习评语
2015/03/25 职场文书
捐书活动倡议书
2015/04/27 职场文书
教师读书笔记
2015/06/29 职场文书
2019年大学推荐信
2019/06/24 职场文书
作文之亲情600字
2019/09/23 职场文书