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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 Python
Python 面向对象部分知识点小结
Mar 09 Python
virtualenv介绍及简明教程
Jun 23 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
python自动化发送邮件实例讲解
Jan 04 Python
python 模块重载的五种方法
Apr 24 Python
Django如何与Ajax交互
Apr 29 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中使用Oracle数据库(1)
2006/10/09 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
php while循环控制的简单实例
2016/05/30 PHP
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
js实现批量删除功能
2020/08/27 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python reduce 函数使用详解
2017/12/05 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
详解python数据结构和算法
2019/04/18 Python
解决Python对齐文本字符串问题
2019/08/28 Python
python实现多进程通信实例分析
2019/09/01 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python如何实现机器人聊天
2020/09/10 Python
安全生产网格化管理实施方案
2014/03/01 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
机械专业求职信
2014/05/25 职场文书
淘宝活动总结范文
2014/06/26 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
优秀员工事迹材料
2014/12/20 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS