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计算三角函数之asin()方法的使用
May 15 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Python_LDA实现方法详解
Oct 25 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
Python学习之time模块的基本使用
Jan 17 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 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/02 无线电
php 中文和编码判断代码
2010/05/16 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
纯javascript版日历控件
2016/11/24 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
vue-cli扩展多模块打包的示例代码
2018/04/09 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
vue弹窗组件使用方法
2018/04/28 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
HTML的form表单和django的form表单
2019/07/25 Python
Python简易版停车管理系统
2019/08/12 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
python右对齐的实例方法
2020/07/05 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
数据库笔试题
2013/05/09 面试题
毕业证丢失证明
2014/01/15 职场文书
班主任寄语大全
2014/04/04 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
论文答谢词
2015/01/20 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
数据设计之权限的实现
2022/08/05 MySQL