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去除列表中重复元素的方法
Mar 20 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
python远程连接MySQL数据库
Apr 19 Python
Python使用dict.fromkeys()快速生成一个字典示例
Apr 24 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
对python中各个response的使用说明
Mar 28 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
Python 视频画质增强
Apr 28 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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
一个更简单的无限级分类菜单代码
2007/01/16 PHP
php全角字符转换为半角函数
2014/02/07 PHP
php获取字段名示例分享
2014/03/03 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
基于python socketserver框架全面解析
2017/09/21 Python
python写一个md5解密器示例
2018/02/23 Python
python实现多线程网页下载器
2018/04/15 Python
Python os.access()用法实例
2019/02/18 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python通过socketserver处理多个链接
2020/03/18 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
大学生四个方面的自我评价
2013/09/19 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
旅游市场营销方案
2014/03/09 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
装配出错检讨书
2014/09/23 职场文书
2015年教师节活动总结
2015/03/20 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python