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抓取网页图片示例(python爬虫)
Apr 27 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
python实现多进程代码示例
Oct 31 Python
python中web框架的自定义创建
Sep 08 Python
Python实现微信好友的数据分析
Dec 16 Python
tornado+celery的简单使用详解
Dec 21 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
分布式全文检索引擎ElasticSearch原理及使用实例
Nov 14 Python
python从ftp获取文件并下载到本地
Dec 05 Python
pytorch 如何使用amp进行混合精度训练
May 24 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 显示指定路径下的图片
2009/10/29 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
设定php简写功能的方法
2019/11/28 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
理解javascript正则表达式
2016/03/08 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python实现ping指定IP的示例
2018/06/04 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
python实现IOU计算案例
2020/04/12 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
致跳高运动员广播稿
2014/01/13 职场文书
中秋节主持词
2014/04/02 职场文书
设计顾问服务计划书
2014/05/04 职场文书
房展策划方案
2014/06/07 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL