欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3.7 openpyxl 在excel單元格中寫入數(shù)據(jù)實(shí)例

 更新時(shí)間:2020年09月01日 10:41:43   作者:最渣的黑客  
這篇文章主要介紹了python3.7 openpyxl 在excel單元格中寫入數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

本來我是想嘗試,選中某個(gè)多個(gè)單元格復(fù)制到同一個(gè)sheet的其他位置,找了很多資料沒有找到,目前只有這么一個(gè)辦法,如果有大佬看到,歡迎補(bǔ)充請(qǐng)教。

# encoding:utf-8
import pandas as pd
import openpyxl
xl = pd.read_excel(r"E:\55\CRM經(jīng)營分析表-10001741-1570416265044.xls")
xl.to_excel(r"E:\55\crms.xlsx")
wk = openpyxl.load_workbook(r"E:\55\crms.xlsx") #加載已經(jīng)存在的excel
wk_name = wk.sheetnames
wk_sheet = wk[wk_name[0]]
 
wk_sheet.cell(row=2,column=2,value='大區(qū)') #在第二行,第二列下入“大區(qū)”數(shù)值
wk_sheet.cell(row=2,column=3,value='小區(qū)')
wk_sheet.cell(row=2,column=4,value='店鋪編碼')
wk_sheet.cell(row=2,column=5,value='店鋪名稱')
 
wk.save(r"E:\55\s.xlsx")

補(bǔ)充知識(shí):【openpyxl】python中對(duì)Excel進(jìn)行寫入操作,寫入一列或者一行(從excel中讀出label和feature對(duì)應(yīng)格式方法以及插入一行或者一列方法實(shí)現(xiàn))

前言

最近在做expansion of datset,所以需要把擴(kuò)展的dataset寫入到excel中

我已經(jīng)矩陣運(yùn)算全部搞定,最終輸出的是兩個(gè)輸出 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],
      ]

解決方案

先是準(zhǔn)備用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],
      ]
#這個(gè)地方之所以 變成numpy格式是因?yàn)樵诤芏鄷r(shí)候我們都是在numpy格式下計(jì)算的,模擬一下預(yù)處理
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")

結(jié)果生成一個(gè)excel,最后結(jié)果如下圖:

總結(jié)

openpyxl包用起來是真的方便,對(duì)于寫入,只需要建立一個(gè)LIST進(jìn)行append就好了,如果excel為空的那append就從第一行開始遞增操作,你也可以理解為一個(gè)ws.append()操作就相當(dāng)于寫入一行,如果excel為有數(shù)據(jù)的時(shí)候,那寫入操作從沒有數(shù)據(jù)的那一行開始寫入;這里也說一下本來想用Insert來著但是忽略了一個(gè)條件,就是insert有個(gè)前提條件就是For example to insert a row at 7 (before the existing row 7):,意思為插入之前你的數(shù)據(jù)的大小一定是比要插入的行數(shù)或者列數(shù)大的,也就是說插入只能插到里面,不能在邊緣插。

插入核心參考代碼

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]

讀取代碼

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

結(jié)果:

以上這篇python3.7 openpyxl 在excel單元格中寫入數(shù)據(jù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python無法用requests獲取網(wǎng)頁源碼的解決方法

    Python無法用requests獲取網(wǎng)頁源碼的解決方法

    爬蟲獲取信息,很多時(shí)候是需要從網(wǎng)頁源碼中獲取鏈接信息的,下面這篇文章主要給大家介紹了關(guān)于Python無法用requests獲取網(wǎng)頁源碼的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 獲取Django項(xiàng)目的全部url方法詳解

    獲取Django項(xiàng)目的全部url方法詳解

    這篇文章主要介紹了獲取Django項(xiàng)目的全部url方法詳解,小編覺得挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

    python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法,需要的朋友可以參考下
    2020-02-02
  • Python去除字符串前后空格的幾種方法

    Python去除字符串前后空格的幾種方法

    今天小編就為大家分享一篇關(guān)于Python去除字符串前后空格的幾種方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • python獲取mp3文件信息的方法

    python獲取mp3文件信息的方法

    這篇文章主要介紹了python獲取mp3文件信息的方法,涉及Python針對(duì)文件屬性操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python腳本利用adb進(jìn)行手機(jī)控制的方法

    Python腳本利用adb進(jìn)行手機(jī)控制的方法

    這篇文章主要介紹了Python腳本利用adb進(jìn)行手機(jī)控制的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Tornado 多進(jìn)程實(shí)現(xiàn)分析詳解

    Tornado 多進(jìn)程實(shí)現(xiàn)分析詳解

    這篇文章主要介紹了Tornado 多進(jìn)程實(shí)現(xiàn)分析詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python機(jī)器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測(cè)篇

    Python機(jī)器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測(cè)篇

    所謂決策樹,就是一個(gè)類似于流程圖的樹形結(jié)構(gòu),樹內(nèi)部的每一個(gè)節(jié)點(diǎn)代表的是對(duì)一個(gè)特征的測(cè)試,樹的分支代表該特征的每一個(gè)測(cè)試結(jié)果,而樹的每一個(gè)葉子節(jié)點(diǎn)代表一個(gè)類別。樹的最高層是就是根節(jié)點(diǎn)
    2022-01-01
  • PyQt5每天必學(xué)之工具提示功能

    PyQt5每天必學(xué)之工具提示功能

    這篇文章主要為大家詳細(xì)介紹了PyQt5每天必學(xué)之工具提示功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python編程實(shí)現(xiàn)凱撒密碼加密示例

    Python編程實(shí)現(xiàn)凱撒密碼加密示例

    這篇文章主要介紹了使用Python語言編程實(shí)現(xiàn)對(duì)凱撒密碼加密的示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-10-10

最新評(píng)論