Python操作xlwings得實例詳解

目錄

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

因此在保留excel原文件格式不變得基礎上,自動填寫相關數值變得重要。

python操作excel得模塊多,xlrd,pandas,xlwings,openpyxl。經常搞不清這么多功能類似得模塊有什么區別,這里發現xlwings可以派上用場,因為我有個保留excel格式得需求,文件格式:

表1-1

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

數據來源

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

表1-2

爬蟲

#?-*-?coding:?utf-8?-*-from?selenium?import?webdriverfrom?selenium.webdriver.chrome.options?import?Optionsimport?time,os,glob,csvfrom?datetime?import?datetimeoptions?=?Options()options.add_argument('--disable-infobars')options.add_argument('--incognito')#?options.add_argument('--headless')bro?=?webdriver.Chrome(executable_path='C:drf2drf2chromedriver.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').texttime.sleep(3)#點擊帳單詳情bro.find_element_by_xpath(????'//*[@id="root-app"]/div[1]/div/div[6]/div[3]/a').click()time.sleep(1.5)#點擊產品量價匯總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得數據

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

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

xlwings獲取表1-1sheet

import?xlwings?as?xwfrom?datetime?import?datetimeimport?osapp?=?xw.App(visible=False,add_book=False)app.display_alerts?=?Falseapp.screen_updating?=?Falsewb?=?app.books.open(filename)ws?=?wb.sheets[0]

xlwings修改表1-1數據

#?修改第10行,expand參數可以方便得按順序一行寫完ws.range('B10').options(expand='table').value?=?[內容安全,?系統短信,?云服務器ECS流量,?對象存儲,?文件存儲,?視頻點播,?大數據,?CDN,?日志服務,?塊存儲,?合計,????????????????????????????????????????????????????余額]#?修改第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()

總結

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

到此這篇關于Python操作xlwings得實例詳解得內容就介紹到這了,更多相關Python xlwings內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 久久久久国产精品免费网站| 丰满黄蓉跪趴高撅肥臀| 亚洲国产一区二区a毛片| 亚洲丶国产丶欧美一区二区三区| 国产女人视频免费观看| 天堂AV无码AV一区二区三区| 天堂草原电视剧在线观看图片高清| 日本一本在线播放| 摸BBB揉BBB揉BBB视频 | 波多野结衣免费观看视频| 日本高清www无色夜在| 欧美在线色视频| 波多野结衣视频网| 快播电影网日韩新片| 在线一区免费播放| 国产男女猛视频在线观看网站| 天天天天天天天操| 国产不卡一卡2卡三卡4卡5卡在线| 国产人妖ts在线观看网站| 免费观看成年人网站| 亚洲系列国产精品制服丝袜第| 免费在线观看的黄色网址| 亚洲国产精品热久久| 久久久久久久97| HEYZO无码综合国产精品| 亚洲婷婷第一狠人综合精品| 舌头伸进去里面吃小豆豆| 特级毛片s级全部免费| 最近的中文字幕视频完整| 成人试看120秒体验区| 国语高清精品一区二区三区| 免费福利在线观看| 亚州春色校园另类| 一级毛片女人18水真多| 2021国产精品露脸在线| 色综合综合在线| 欧美视频在线观看免费最新| 日本在线不卡视频| 国产高清不卡一区二区| 国产一区二区女内射| 亚洲日韩国产精品无码av|