最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python操作xlwings的實例詳解

 更新時間:2022年07月27日 10:18:42   作者:派森醬  
python操作Excel的模塊,網(wǎng)上提到的模塊大致有:xlwings、xlrd、xlwt、openpyxl、pyxll等。本文將通過幾個實例演示下xlwings的使用,感興趣的可以了解一下

阿里云產(chǎn)品費用巡檢,一般流程是登錄賬號,再逐項核對填寫。雖然簡單,但如果帳號多表格多,帳號間的數(shù)據(jù)有關(guān)聯(lián),填寫起來就比較費力氣。幾張表格,可能從下載數(shù)據(jù)到核寫完畢,輾轉(zhuǎn)半個小時。

因此在保留excel原文件格式不變的基礎(chǔ)上,自動填寫相關(guān)數(shù)值變得重要。

python操作excel的模塊多,xlrd,pandas,xlwings,openpyxl。經(jīng)常搞不清這么多功能類似的模塊有什么區(qū)別,這里發(fā)現(xiàn)xlwings可以派上用場,因為我有個保留excel格式的需求,文件格式:

表1-1

注意:主要修改第10、11行,其它不變。

數(shù)據(jù)來源

通過爬蟲登錄阿里云,下載數(shù)據(jù)寫入csv。帶上日期,如data_07-25.csv

表1-2

爬蟲腳本

#?-*-?coding:?utf-8?-*-
from?selenium?import?webdriver
from?selenium.webdriver.chrome.options?import?Options
import?time,os,glob,csv
from?datetime?import?datetime

options?=?Options()
options.add_argument('--disable-infobars')
options.add_argument('--incognito')
#?options.add_argument('--headless')
bro?=?webdriver.Chrome(executable_path='C:\drf2\drf2\chromedriver.exe',?chrome_options=options)
bro.maximize_window()
bro.get('https://www.aliyun.com/')
bro.implicitly_wait(10)

#點擊首頁的登錄按鈕
bro.find_element_by_xpath('//*[@id="J_3207526240"]/div/div/div[1]/div[2]/div[2]/a[4]').click()
time.sleep(1)
#點擊RAM用戶
bro.find_element_by_xpath('//*[@id="root"]/div/div[2]/div/div[2]/div[1]/div[2]/div[2]/div/div[2]/div[2]/span/div').click()

u?=?bro.find_element_by_xpath('//*[@id="--aliyun-xconsole-app"]/div[1]/div[2]/div/div/div[1]/div[2]/div/div/div[2]/div/div/div/form/div[1]/div[2]/div[1]/span/input')
#用戶名
u.send_keys('')
time.sleep(5)
#點擊下一步
bro.find_element_by_xpath('//*[@id="--aliyun-xconsole-app"]/div[1]/div[2]/div/div/div[1]/div[2]/div/div/div[2]/div/div/div/form/div[5]/button/span').click()
p?=?bro.find_element_by_xpath('//*[@id="--aliyun-xconsole-app"]/div[1]/div[2]/div/div/div[1]/div[2]/div/div/div[2]/div/div/div/form/div[2]/div[2]/span/input')
#密碼
p.send_keys('')
time.sleep(5)
#?點擊登錄按鈕
bro.find_element_by_xpath('//*[@id="--aliyun-xconsole-app"]/div[1]/div[2]/div/div/div[1]/div[2]/div/div/div[2]/div/div/div/form/div[5]/button/span').click()
time.sleep(3)
#?點擊控制臺
bro.find_element_by_xpath(
????'//*[@id="J_3207526240"]/div/div/div[1]/div[2]/div[2]/a[3]').click()
time.sleep(6)
#切換窗口
bro.switch_to.window(bro.window_handles[-1])
#?點擊費用
bro.find_element_by_xpath(
????'/html/body/div[1]/div/div/nav/div[1]/a').click()
time.sleep(3)
bro.switch_to.window(bro.window_handles[-1])
available_credit?=?bro.find_element_by_xpath('//*[@id="app__home"]/div/div/div/div[2]/div[1]/div[1]/div[2]/div/div[1]/span[1]/span').text
time.sleep(3)
#點擊帳單詳情
bro.find_element_by_xpath(
????'//*[@id="root-app"]/div[1]/div/div[6]/div[3]/a').click()
time.sleep(1.5)
#點擊產(chǎn)品量價匯總
bro.find_element_by_xpath(
????'//*[@id="app__ent-expense"]/div/div/div[1]/div[1]/div/div/div/ul/li[4]/div/span').click()
time.sleep(1.5)

trs?=?bro.find_elements_by_xpath('//tbody/tr[position()>?1]')

for?f?in?os.listdir('C:/Users/Administrator/Desktop/費用巡檢/'):
????if?f.startswith('fee'):
????????os.remove('C:/Users/Administrator/Desktop/費用巡檢/%s'?%?f)
with?open('C:/Users/Administrator/Desktop/費用巡檢/fee_%s.csv'?%?datetime.now().__format__('%m-%d'),?'a+',?newline='',?encoding='gb18030')?as?f:
????f_csv?=?csv.writer(f)
????f_csv.writerow(['可用額度',available_credit.split('?')[1]])
????for?tr?in?trs:
????????tr?=?tr.text.split('\n')
????????f_csv.writerow([tr[0],tr[1].split('?')[1]])

bro.quit()

上手

pandas讀取表1-2的數(shù)據(jù)

為了方便識別,變量名直接用中文了

import?pandas?as?pd

df?=?pd.read_csv('data_%s.csv'?%?datetime.now().__format__('%m-%d'),?encoding='gbk',?names=['內(nèi)容',?'金額'])
內(nèi)容安全?=?eval(df.iloc[5,?1])
系統(tǒng)短信?=?0
云服務(wù)器ECS流量?=?eval(df.iloc[4,?1])
對象存儲?=?eval(df.iloc[8,?1])
文件存儲?=?eval(df.iloc[6,?1])
視頻點播?=?eval(df.iloc[11,?1])
大數(shù)據(jù)?=?eval(df.iloc[2,?1])?+?eval(df.iloc[7,?1])
CDN?=?eval(df.iloc[1,?1])
日志服務(wù)?=?eval(df.iloc[10,?1])
塊存儲?=?eval(df.iloc[3,?1])
合計?=?round(內(nèi)容安全?+?系統(tǒng)短信?+?云服務(wù)器ECS流量?+?對象存儲?+?文件存儲?+?視頻點播?+?大數(shù)據(jù)?+?CDN?+?日志服務(wù)?+?塊存儲,?2)
余額?=?eval(df.iloc[0,?1].replace(',',?''))

xlwings獲取表1-1sheet

import?xlwings?as?xw
from?datetime?import?datetime
import?os

app?=?xw.App(visible=False,add_book=False)
app.display_alerts?=?False
app.screen_updating?=?False

wb?=?app.books.open(filename)
ws?=?wb.sheets[0]

xlwings修改表1-1數(shù)據(jù)

#?修改第10行,expand參數(shù)可以方便的按順序一行寫完
ws.range('B10').options(expand='table').value?=?[內(nèi)容安全,?系統(tǒng)短信,?云服務(wù)器ECS流量,?對象存儲,?文件存儲,?視頻點播,?大數(shù)據(jù),?CDN,?日志服務(wù),?塊存儲,?合計,
????????????????????????????????????????????????????余額]

#?修改第11行
ws.range('e41').value?=?'本月(%s月)已使用%s元,實際賬戶余額為%s元。'?%?(datetime.now().month,?合計,?余額)
path?=?'D:/桌面/巡檢/%s'?%?datetime.now().__format__('%m-%d')
if?not?os.path.exists(path):
????os.mkdir(path)
wb.save(os.path.join(path,'教育費用_%s.xlsx'?%?datetime.now().__format__('%m-%d')))
wb.close()
app.quit()

總結(jié)

通過使用xlwings自動修改表格,我的6張表格從原先的操作半小時,到現(xiàn)在鼠標duang~duang~duang~幾下即可做好。減少上百次的復(fù)制粘貼點擊后,工作更輕松了。

到此這篇關(guān)于Python操作xlwings的實例詳解的文章就介紹到這了,更多相關(guān)Python xlwings內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3?flask使用連接池連接數(shù)據(jù)庫實例

    python3?flask使用連接池連接數(shù)據(jù)庫實例

    這篇文章主要為大家介紹了python3?flask使用連接池連接數(shù)據(jù)庫實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • python本地文件服務(wù)器實例教程

    python本地文件服務(wù)器實例教程

    這篇文章主要給大家介紹了關(guān)于python本地文件服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-05-05
  • Python入門學(xué)習之Python流處理過程

    Python入門學(xué)習之Python流處理過程

    本篇文章屬于Python入門篇,本文主要教大家學(xué)習Python流處理過程,通過Faust流處理庫來為大家詳細講解,有需要的朋友可以借鑒參考下
    2021-09-09
  • Python中格式化format()方法詳解

    Python中格式化format()方法詳解

    這篇文章主要介紹了 Python中格式化format()方法詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • python:動態(tài)路由的Flask程序代碼

    python:動態(tài)路由的Flask程序代碼

    今天小編就為大家分享一篇python:動態(tài)路由的Flask程序代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python?Jinja2?庫靈活性廣泛性應(yīng)用場景實例解析

    Python?Jinja2?庫靈活性廣泛性應(yīng)用場景實例解析

    Jinja2,作為Python中最流行的模板引擎之一,為開發(fā)者提供了強大的工具,用于在Web應(yīng)用和其他項目中生成動態(tài)內(nèi)容,本文將深入研究?Jinja2?庫的各個方面,提供更豐富的示例代碼,能夠充分理解其靈活性和廣泛應(yīng)用的場景
    2024-01-01
  • python爬蟲框架scrapy下載中間件的編寫方法

    python爬蟲框架scrapy下載中間件的編寫方法

    這篇文章主要介紹了python爬蟲框架scrapy下載中間件,在每一個scrapy工程中都有一個名為 middlewares.py 的文件,這個就是中間件文件,本文通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-03-03
  • 安裝dbus-python的簡要教程

    安裝dbus-python的簡要教程

    這篇文章主要介紹了安裝dbus-python的簡要教程,dbus-python在Python編程中多用于處理進程之間的通信,需要的朋友可以參考下
    2015-05-05
  • python異常處理、自定義異常、斷言原理與用法分析

    python異常處理、自定義異常、斷言原理與用法分析

    這篇文章主要介紹了python異常處理、自定義異常、斷言,結(jié)合實例形式分析了python異常處理、自定義異常、斷言相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • python中的隨機數(shù)種子seed()用法說明

    python中的隨機數(shù)種子seed()用法說明

    這篇文章主要介紹了python中的隨機數(shù)種子seed()用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評論

墨玉县| 阿巴嘎旗| 鹿泉市| 井冈山市| 怀安县| 柳江县| 仁布县| 姜堰市| 鹰潭市| 崇仁县| 石首市| 武陟县| 湘阴县| 泌阳县| 林西县| 定南县| 体育| 普格县| 天镇县| 黔江区| 章丘市| 炉霍县| 渭南市| 从江县| 博湖县| 浮山县| 平顶山市| 北宁市| 新泰市| 利津县| 安阳县| 连平县| 延川县| 南岸区| 九江县| 汉寿县| 邢台市| 车致| 屯门区| 望都县| 临海市|