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

python寫入Excel表格的方法詳解

 更新時(shí)間:2022年02月07日 08:54:54   作者:勝天半月子  
這篇文章主要為大家詳細(xì)介紹了python寫入Excel表格的方法,使用jupyter?notebook,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、寫入Excel數(shù)據(jù)

週用openpyxl也提供了一些方法寫入數(shù)據(jù),這意味著你的程序可以創(chuàng)建和編輯電子表格文件。利用Python創(chuàng)建一個(gè)包含幾千行數(shù)據(jù)的電子表格是非常簡單的。

週用openpyxl.Workbook()函數(shù),創(chuàng)建一個(gè)新的空Workbook對(duì)象

本章節(jié)所有代碼均在jupyter notebook中完成

創(chuàng)建一個(gè)新的工作簿對(duì)象

import openpyxl
wb = openpyxl.Workbook()
wb

<openpyxl.workbook.workbook.Workbook at 0x22473ff4da0>

獲取工作表名稱

# 查看默認(rèn)的工作表的名稱
wb.sheetnames

[‘Sheet’]

給工作表設(shè)置名稱

# 查看默認(rèn)的工作表的名稱
wb.sheetnames

[‘跟進(jìn)記錄表’]

保存工作表

wb.save('./data/第一個(gè)工作簿.xlsx') # 需要給路徑地址

在這里插入圖片描述

創(chuàng)建和刪除工作表

  • 利用create_sheet 和del語法,可以在工作簿中添加或刪除工作表,
  • 在工作簿中添加或刪除工作表之后,記得調(diào)用save()方法來保存變更。

創(chuàng)建sheet

wb = openpyxl.load_workbook('./data/第一個(gè)工作簿.xlsx')
wb.create_sheet(title='銷售記錄')

<Worksheet “銷售記錄”>

wb.sheetnames

[‘跟進(jìn)記錄表’, ‘銷售記錄’]

wb.create_sheet(index=1,title='養(yǎng)殖技術(shù)') # index表示新創(chuàng)建的工作簿放在第幾個(gè)位置   index從0開始計(jì)數(shù)

<Worksheet “養(yǎng)殖技術(shù)”>

wb.sheetnames  # 0 1 2 從0開始計(jì)數(shù)

[‘跟進(jìn)記錄表’, ‘養(yǎng)殖技術(shù)’, ‘銷售記錄’]

刪除sheet表

del wb['養(yǎng)殖技術(shù)']
wb.sheetnames 

[‘跟進(jìn)記錄表’, ‘銷售記錄’]

wb.save('./data/第一個(gè)工作簿.xlsx')

在這里插入圖片描述

千萬記?。褐挥?code>save()后打開Excel表格你做的操作才會(huì)顯示

將值寫入單元格

  • 將值寫入單元格,很像將值寫入字典中的鍵
  • 如果你有單元格坐標(biāo)的字符串,可以像字典的鍵一樣,將它用于Worksheet對(duì)象,指定要寫入的單元格。
  • 最后使用save()進(jìn)行保存
sheet = wb['銷售記錄'] 
sheet['A1'] = 'HELLO'
sheet['B2'] = 'world'
wb.save('./data/第一個(gè)工作簿.xlsx')  # 操作之后一定要保存

在這里插入圖片描述

二、項(xiàng)目:更新一個(gè)電子表格

2.1 案例需求

獲取資源:produceSales.xlsx 提取碼: ge7k

這個(gè)項(xiàng)目需要編寫一個(gè)程序,更新產(chǎn)品銷售電子表格中的單元格,程序?qū)⒈闅v這個(gè)電子表格,找到特定類型的產(chǎn)品,并更新它們的價(jià)格

數(shù)據(jù)說明

  • 每一行代表一次單獨(dú)的銷售。列分別是銷售產(chǎn)品的類型(A)、產(chǎn)品每磅的價(jià)格(B)、銷售的磅數(shù)(C),以及這次銷售的總收入(D).TOTAL列已經(jīng)設(shè)置為Excel公式,將每磅的成本乘以銷售的磅數(shù),并將結(jié)果取整到分。有了這個(gè)公式,如果列B或C發(fā)生變化,TOTAL列中的單元格將自動(dòng)更新
  • 現(xiàn)在假設(shè)Garlic,Celery和Lemons的價(jià)格輸入的不正確。這讓你面對(duì)一項(xiàng)無聊的任務(wù):遍歷這個(gè)電子表格中的幾萬行,更新所有g(shù)arlic.celery和lemon行中每磅的價(jià)格。你不能簡單地對(duì)價(jià)格查找替換,因?yàn)榭赡苡衅渌漠a(chǎn)品價(jià)格一樣,你不希望錯(cuò)誤地"更正"。對(duì)于幾萬行數(shù)據(jù),手工操作可能要幾小時(shí)。但你可以編寫程序,幾秒鐘內(nèi)完成這個(gè)任務(wù)。

你的程序做下面的事情

  • 循環(huán)追歷所有行。
  • 如果該行是Garlic,Celery或Lemons,更新價(jià)格。

這意味著代碼需要做下面的事情:

  • 打開電子表格文件。
  • 針對(duì)每一行,檢查列A的值是不是Celery,Garlic或Lemon,如果是,更新列B中的價(jià)格。將該電子表格保存為一個(gè)新文件(這樣就不會(huì)丟失原來的電子表格,以防萬一)

需要更新的價(jià)格如下

  • Celery 1.19
  • Garlic 3.07
  • Lemon 1.27

在這里插入圖片描述

2.2 案例源碼

import openpyxl
print('openning...')
wb = openpyxl.load_workbook('./data/produceSales.xlsx')
sheet = wb['Sheet']
 
# The produce types and their updated prices
PRICE_UPDATES = {'Garlic': 3.07,
                 'Celery': 1.19,
                 'Lemon': 1.27}
 
# Loop through the rows and update the prices.
for rowNum in range(2, sheet.max_row + 1):
    # 取出第一列商品的名稱
    produceName = sheet.cell(row=rowNum, column=1).value
    # 如果取出的商品名稱在字典中 則需要修改
    if produceName in PRICE_UPDATES:
        sheet.cell(row=rowNum, column=2).value = PRICE_UPDATES[produceName]


wb.save('./data/updateProduceSales.xlsx')
print('finishing...')

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • 替換python字典中的key值方法

    替換python字典中的key值方法

    今天小編就為大家分享一篇替換python字典中的key值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 淺析Python中g(shù)etattr和getattribute的調(diào)用

    淺析Python中g(shù)etattr和getattribute的調(diào)用

    在Python中,getattr和getattribute是兩個(gè)用于屬性訪問的重要函數(shù),它們可以在運(yùn)行時(shí)動(dòng)態(tài)地獲取對(duì)象的屬性或自定義屬性訪問行為,下面我們就來學(xué)習(xí)一下它們的具體用法吧
    2023-11-11
  • python?與c++相互調(diào)用實(shí)現(xiàn)

    python?與c++相互調(diào)用實(shí)現(xiàn)

    這篇文章主要介紹了python?與c++相互調(diào)用實(shí)現(xiàn),我們都知道c++運(yùn)算速度快于python,python又簡單易寫,很多人就會(huì)想到將兩者結(jié)合,接下倆小編要給大家介紹的就是python?與c++相互調(diào)用實(shí)現(xiàn),,需要的朋友可以參考一下
    2022-03-03
  • Python map及filter函數(shù)使用方法解析

    Python map及filter函數(shù)使用方法解析

    這篇文章主要介紹了Python map及filter函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python文檔字符串(函數(shù)使用說明)使用詳解

    python文檔字符串(函數(shù)使用說明)使用詳解

    這篇文章主要介紹了python文檔字符串(函數(shù)使用說明)使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python計(jì)算圓周長、面積、球體體積并畫出圓

    python計(jì)算圓周長、面積、球體體積并畫出圓

    這篇文章主要介紹了python計(jì)算圓周長、面積、球體體積并畫出圓(python3+PyObject+Gtk實(shí)現(xiàn)界面聯(lián)動(dòng)),需要的朋友可以參考下
    2014-04-04
  • python的常見命令注入威脅

    python的常見命令注入威脅

    不過下面可是我們開發(fā)產(chǎn)品初期的一些血淋淋的案例,更多的安全威脅可以看看北北同學(xué)的《python hack》PPT,里面提及了不只命令執(zhí)行的威脅,那些都是我們親身經(jīng)歷的代碼
    2013-02-02
  • 使用python接受tgam的腦波數(shù)據(jù)實(shí)例

    使用python接受tgam的腦波數(shù)據(jù)實(shí)例

    這篇文章主要介紹了使用python接受tgam的腦波數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python光學(xué)仿真從Maxwell方程組到波動(dòng)方程矢量算法理解學(xué)習(xí)

    Python光學(xué)仿真從Maxwell方程組到波動(dòng)方程矢量算法理解學(xué)習(xí)

    這篇文章主要為大家介紹了Python光學(xué)仿真從Maxwell方程組到波動(dòng)方程算法的理解學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    今天小編就為大家分享一篇python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評(píng)論