2024年最新用Python自动生成Excel报表_numbers,2024年最新附项目源码

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

把这个数据文件保存到代码上级目录的 data 文件夹,然后用 Pandas 读取它:

# 读取数据
import pandas as pd
df = pd.read\_excel('../data/Online Retail.xlsx')

df

在这里插入图片描述
其中每一列代表的含义如下:

InvoiceNo:发票编号
StockCode:产品代码
Description:产品名称
Quantity:产品数量
InvoiceDate:开票时间
UnitPrice:产品单价
CustomerID:客户编号
Country:国家名称

为了统计每天的销售额,我们先在数据中增加两列:日期和销售额,然后用函数实现汇总:

# 从时间列中提取日期
df['日期'] = df.InvoiceDate.dt.to\_period('D').astype(str)

# 计算销售额
df['销售额'] = df.Quantity \* df.UnitPrice

# 汇总每天的销售额
df_daily = pd.DataFrame(df.groupby('日期')['销售额'].agg('sum')).reset\_index()

df_daily

在这里插入图片描述
3. 设置和保存报表
接下来,我们对表格进行相应的设置,包括:重命名工作表、把数据写入工作表、自定义标题和表格边框样式、设置行高和列宽、不显示网格线、冻结窗格、自动筛选、设置日期和数字格式等等。

from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import Font, Color, NamedStyle, Border, Side, PatternFill, Alignment, numbers

# 创建工作簿
wb = openpyxl.Workbook()

# 激活工作表
ws = wb.active

# 重命名工作表
ws.title = '每日销售额'

# 把数据写入工作表
for row in dataframe\_to\_rows(df_daily, index=False, header=True):
    ws.append(row)
    
# 创建自定义的标题样式
mytitle = NamedStyle(name='mytitle')
mytitle.font = Font(bold=True, size=11, color='FFFFFF')
bd = Side(style='thin', color='A6A6A6')
mytitle.border = Border(left=bd, top=bd, right=bd, bottom=bd)
mytitle.fill = PatternFill('solid', fgColor='00589F')
mytitle.alignment = Alignment(horizontal='left', vertical='center')
wb.add\_named\_style(mytitle)

# 创建自定义表格边框样式
myborder = NamedStyle(name='myborder')
myborder.font = Font(bold=False, size=11, color='000000')
bd = Side(style='thin', color='A6A6A6')
myborder.border = Border(left=bd, top=bd, right=bd, bottom=bd)
myborder.alignment = Alignment(vertical='center')
wb.add\_named\_style(myborder)

# 应用标题样式
for cell in ws[1]:
    cell.style = mytitle
    
# 对表格区域加边框
from openpyxl.utils import get_column_letter, column_index_from_string
table_range = ws['A2:' + get\_column\_letter(ws.max_column) + str(ws.max_row)]
for row in table_range:
    for cell in row:
        cell.style = myborder
    
# 设置行高和列宽
ws.row_dimensions[1].height = 26
ws.column_dimensions['A'].width = 15
ws.column_dimensions['B'].width = 12

# 设置不显示网格线
ws.views.sheetView[0].showGridLines = False

# 冻结窗格
ws.freeze_panes = 'A3'

# 自动筛选


![img](https://img-blog.csdnimg.cn/img_convert/0acf7559c11f0f168a3121b5ce687d3a.png)
![img](https://img-blog.csdnimg.cn/img_convert/8951b281012dcd59a6bc8f3db5b2bba9.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

0ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

是的,Python可以用来自动读取数据并生成Excel报表,同时通过一些技巧可以美化报表,使其更加易读和美观。下面是一个简单的示例,演示如何使用Python和第三方库来生成Excel报表。 首先,需要安装openpyxl库来处理Excel文件。可以使用以下命令来安装: ``` pip install openpyxl ``` 接下来,我们可以使用openpyxl库来创建一个Excel工作簿,并添加一些数据和图表。以下是一个示例代码,其中包含了一些注释来帮助您理解代码: ```python import openpyxl from openpyxl.chart import BarChart, Reference # 创建一个新的Excel工作簿 workbook = openpyxl.Workbook() # 选择第一个工作表 worksheet = workbook.active # 添加一些数据到工作表中 worksheet['A1'] = 'Name' worksheet['B1'] = 'Score' worksheet['A2'] = 'Alice' worksheet['B2'] = 85 worksheet['A3'] = 'Bob' worksheet['B3'] = 92 worksheet['A4'] = 'Charlie' worksheet['B4'] = 78 # 创建一个柱状图,将数据添加到图表中 chart = BarChart() data = Reference(worksheet, min_col=2, min_row=1, max_row=4) categories = Reference(worksheet, min_col=1, min_row=2, max_row=4) chart.add_data(data) chart.set_categories(categories) # 将图表添加到工作表中 worksheet.add_chart(chart, 'D1') # 保存Excel工作簿 workbook.save('report.xlsx') ``` 上面的代码将生成一个包含一些数据和一个柱状图的Excel报表。您可以根据需要修改数据和图表的类型和样式,以生成符合您要求的报表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值