九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python自動化處理Excel報表,工作更輕松

沒有轉(zhuǎn)義的Excel!

Excel無處不在,即使我們使用了Python之類強大的輔助工具,依然無法擺脫Excel。

因為你的老板和同事仍然需要方便的方法來訪問重要數(shù)據(jù)。

但是,這并不意味著你不能通過使用Python簡化使用Excel的工作,而這整個過程都不需要你觸碰Excel!

使用Python自動化Excel報表

你還在每天做著沒完沒了的Excel報表嗎?你還在為不同的客戶做著相同的事情嗎?

讓Python幫你!

我們來實現(xiàn)Excel報表的自動化

讓我們快速看一下我們將要自動化的東西!我們將使用以下鏈接中Pandas數(shù)據(jù)透視表中的數(shù)據(jù):

https://towardsdatascience.com/a-step-by-step-guide-to-pandas-pivot-tables-e0641d0c6c70

數(shù)據(jù)格式需要與客戶公司數(shù)據(jù)庫中獲得的數(shù)據(jù)格式相匹配。

我們按區(qū)域細分該數(shù)據(jù),并創(chuàng)建兩個匯總表,包括格式和圖表,這些動作都不需要打開Excel!

數(shù)據(jù)可視化最終形式:從一個工作表到四個可視化報表

加載數(shù)據(jù)庫

在這里,我們將使用Pandas和Openpyxl。如果你不知道Openpyxl,建議先找官方文檔進行學習。我們將使用Python自動化3個Excel任務!

# 第1部分-加載我們的庫import pandas as pdfrom openpyxl import load_workbookfrom openpyxl.styles import Fontfrom openpyxl.chart import BarChart, Reference

我們將使用兩個庫:

  • Pandas負責轉(zhuǎn)換我們的數(shù)據(jù)并創(chuàng)建最初的Excel文件
  • Openpyxl格式化我們的工作表并插入圖表

加載數(shù)據(jù)

讓我們加載數(shù)據(jù)并快速查看我們正在使用的數(shù)據(jù)!

正如我所提到的,數(shù)據(jù)的含義類似于你從公司數(shù)據(jù)庫系統(tǒng)中獲得的數(shù)據(jù)。

#第2部分-加載我們的數(shù)據(jù)df = pd.read_excel('https://github.com/datagy/pivot_table_pandas/raw/master/sample_pivot.xlsx', parse_dates=['Date'])print(df.head())#        Date Region                 Type  Units  Sales#0 2020-07-11   East  Children's Clothing   18.0    306#1 2020-09-23  North  Children's Clothing   14.0    448#2 2020-04-02  South     Women's Clothing   17.0    425#3 2020-02-28   East  Children's Clothing   26.0    832#4 2020-03-19   West     Women's Clothing    3.0     33

在這里,我們使用pandas讀取一個Excel文件,將日期列解析為日期。

創(chuàng)建數(shù)據(jù)透視表

讓我們創(chuàng)建最終報告中需要的匯總表。

# 第3部分-測試數(shù)據(jù)透視表filtered = df[df['Region'] == 'East']quarterly_sales = pd.pivot_table(filtered, index = filtered['Date'].dt.quarter, columns = 'Type', values = 'Sales', aggfunc='sum')print('Quarterly Sales Pivot Table:')print(quarterly_sales.head())#季度銷售數(shù)據(jù)透視表:#Type Children's Clothing Men's Clothing Women's Clothing#Date #1 12274 13293 16729#2 5496 17817 22384#3 14463 9622 15065#4 13616 10953 16051

創(chuàng)建第一個Excel文件

有了透視表,現(xiàn)在我們將其加載到一個Excel文件中。

我們將使用pandas加載該Excel文?。?/p>

# 第04部分-創(chuàng)建和Excel工作簿file_path = #Path to where you want your file savedquarterly_sales.to_excel(file_path, sheet_name = 'Quarterly Sales', startrow=3)

讓我們快速了解一下我們在做什么:

  • 創(chuàng)建一個文件路徑變量來標識我們要將文件存儲在何處
  • 使用ExcelWriter保存文件
  • 將兩個數(shù)據(jù)透視表都保存到單獨的工作表中,從第3行開始(稍后從頭開始使用)

讓我們的報表更漂亮

Pandas有助于將數(shù)據(jù)轉(zhuǎn)換為Excel。接下來,讓我們把表格再美化一下,并添加一些可視化效果。

# 第05部分-加載工作簿wb = load_workbook(file_path)sheet1 = wb['Quarterly Sales']# 第06部分-格式化第一頁sheet1['A1'] = 'Quarterly Sales'sheet1['A2'] = 'datagy.io'sheet1['A4'] = 'Quarter'sheet1['A1'].style = 'Title'sheet1['A2'].style = 'Headline 2'for i in range(5, 9): sheet1[f'B{i}'].style='Currency' sheet1[f'C{i}'].style='Currency' sheet1[f'D{i}'].style='Currency'# 第07部分-添加條形圖bar_chart = BarChart()data = Reference(sheet1, min_col=2, max_col=4, min_row=4, max_row=8)categories = Reference(sheet1, min_col=1, max_col=1, min_row=5, max_row=8)bar_chart.add_data(data, titles_from_data=True)bar_chart.set_categories(categories)sheet1.add_chart(bar_chart, 'F4')bar_chart.title = 'Sales by Type'bar_chart.style = 3wb.save(filename = file_path)

這段代碼里包含了很多內(nèi)容,下面來給大家詳細講解!

在第5部分中,我們將工作簿和工作表加載到Openpyxl可以處理的單獨對象中。

第6部分還有更多內(nèi)容:

  • 在單元格A1和A2中為sheet1添加標題和副標題。
  • 更改了四分之一列的標題,以更好地反映數(shù)據(jù)。
  • 將樣式應用于標題和副標題。
  • 將金融領(lǐng)域的單元格更改為貨幣。 這需要一次應用于一個單元, 這就是為什么我們使用for循環(huán)的原因。

在第7部分中,我們添加了條形圖:

  • 創(chuàng)建一個BarChart對象,并標識存儲數(shù)據(jù)和類別的字段。
  • 然后將數(shù)據(jù)和類別應用于對象。
  • 最后,我們添加一個描述性的標題和樣式。Openpyxl使用多種樣式-嘗試所有樣式!

這是我們的工作表現(xiàn)在的樣子:

我們的工作成果之一

為多個表格自動化此工作流程

只處理表格中的一部分不是我們高效工作的宗旨,讓我們對所有帶有for循環(huán)的區(qū)域執(zhí)行此操作。

# 第08部分-獲取地區(qū)名稱regions = list(df['Region'].unique())# 第09部分-所有區(qū)域的循環(huán)folder_path = #插入要保存報表的文件夾的路徑for region in regions:    filtered = df[df['Region'] == f'{region}']    quarterly_sales = pd.pivot_table(filtered, index = filtered['Date'].dt.quarter, columns = 'Type', values = 'Sales', aggfunc='sum')    file_path = f'{path to your folder}{region}.xlsx'    quarterly_sales.to_excel(file_path, sheet_name = 'Quarterly Sales', startrow=3)        wb = load_workbook(file_path)    sheet1 = wb['Quarterly Sales']        sheet1['A1'] = 'Quarterly Sales'    sheet1['A2'] = 'datagy.io'    sheet1['A4'] = 'Quarter'    sheet1['A1'].style = 'Title'    sheet1['A2'].style = 'Headline 2'    for i in range(5, 10):        sheet1[f'B{i}'].style='Currency'        sheet1[f'C{i}'].style='Currency'        sheet1[f'D{i}'].style='Currency'    bar_chart = BarChart()    data = Reference(sheet1, min_col=2, max_col=4, min_row=4, max_row=8)    categories = Reference(sheet1, min_col=1, max_col=1, min_row=5, max_row=8)    bar_chart.add_data(data, titles_from_data=True)    bar_chart.set_categories(categories)    sheet1.add_chart(bar_chart, 'F4')    bar_chart.title = 'Sales by Type'    bar_chart.style = 3

我們來仔細分析這一部分的代碼:

在第8部分中,我們創(chuàng)建一個列表,其中包含我們要覆蓋的不同區(qū)域的所有唯一值。

在第9部分中,我們在for循環(huán)中重復前面的代碼:

  • 創(chuàng)建了一個新變量,該變量保存要保存文件的文件夾的路徑。
  • 使用f字符串將區(qū)域名插入到腳本中,使其對每個區(qū)域都是動態(tài)的。

接下來是什么?

Python的好處在于可重復執(zhí)行任務的可伸縮性。

你可以想象一下,利用以上步驟,快速創(chuàng)建報表, 每天能節(jié)省多少時間?

結(jié)論

在這個簡短的教程中我們學到了很多東西! 我們將表格轉(zhuǎn)換為一組數(shù)據(jù)透視表,將它們導出到單獨的工作簿中,然后將格式和圖形應用于每個工作表格!

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python與Excel自動化報表教程
Python讀寫EXCEL文件常用方法大全
4段簡短代碼教你用Python讀寫Excel
Pandas專家總結(jié):指定樣式保存excel數(shù)據(jù)的 “N種” 姿勢!
Pandas中to_excel實現(xiàn)數(shù)據(jù)追加或者覆蓋到Excel工作表
python生成excel文件的三種方式
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服