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 smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
Python处理字符串之isspace()方法的使用
May 19 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
python从入门到精通(DAY 1)
Dec 20 Python
python黑魔法之参数传递
Feb 12 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
python快排算法详解
Mar 04 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Python socket 套接字实现通信详解
Aug 27 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 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中的extract的作用分析
2008/04/09 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
Django 中 cookie的使用
2017/08/17 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
tab栏切换原理
2017/03/22 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
Shell编程面试题
2012/05/30 面试题
客服专员岗位职责范本
2013/11/29 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
预备党员入党感想
2015/08/10 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸